Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kreatif Forms

Zwei Bausteine, die in jedem Kundenprojekt am Formular anfallen — bewusst ohne eigenen Mailversand: Admin-Mail und Autoresponder kann Statamic 6 im Core (mehrere Mail-Konfigurationen je Formular, mit to, from, reply_to, subject, eigenem Template und Dateianhängen).

  1. Empfänger je Auswahlfeld — „Bereich", „Betreff", „Abteilung": Redakteure pflegen die Zuordnung Auswahl → Adresse im Global Set, nicht der Entwickler im Code.
  2. Newsletter über Brevo mit Double-Opt-in — ein Häkchen im Formular genügt.

Löst das alte kreatif/statamic-forms (max. ^5.0) ab. Der Mailversand dort ist in Statamic 6 Core-Funktion geworden; übrig bleiben die beiden Punkte oben.

Installation im Projekt

composer.json des Projekts:

"repositories": [
    { "type": "path", "url": "addons/kreatif/statamic-forms" }
],
"require": {
    "kreatif/statamic-forms": "*"
}

Config veröffentlichen (optional, das Addon bringt sinnvolle Vorgaben mit):

php artisan vendor:publish --tag=kreatif-forms-config

1. Empfänger je Auswahlfeld

Global Set form_recipients mit einem Grid recipients aus drei Spalten:

Spalte Typ Bedeutung
key text, nicht lokalisierbar Wert im Auswahlfeld des Formulars
label text, lokalisierbar Beschriftung im Dropdown und im Betreff
email text Empfängeradresse

Formular-Blueprint: ein Select mit Handle department (anpassbar über recipients.field), dessen Optionen dieselben key-Werte tragen.

Mail-Konfiguration im CP: als Empfänger {{ recipient_email }} eintragen. Statamic parst die Mail-Konfiguration mit Antlers über den Einsendungsdaten; der Listener setzt den Wert vorher auf FormSubmitted, also noch vor dem Speichern und vor dem Versand.

Zusätzlich steht {{ recipient_email_label }} bereit — praktisch im Betreff: Anfrage {{ recipient_email_label }}.

Formulare ohne den Platzhalter fasst das Addon nicht an; deren fest eingetragene Adresse bleibt stehen. Greift keine Zeile, gilt FORM_FALLBACK_EMAIL, sonst die erste Zeile des Grids.

2. Newsletter über Brevo

Ein Feld newsletter (Toggle) im Formular-Blueprint genügt. Ist es angehakt, legt das Addon den Kontakt über POST /contacts/doubleOptinConfirmation an: Brevo verschickt die Bestätigungsmail aus der hinterlegten Vorlage und trägt den Kontakt erst nach dem Klick in die Liste ein. Wir speichern damit keine unbestätigten Adressen und brauchen keinen eigenen Bestätigungs-Workflow.

BREVO_API_KEY=
BREVO_LIST_ID=
BREVO_DOI_TEMPLATE_ID=
BREVO_DOI_REDIRECT_URL="${APP_URL}/newsletter/bestaetigt"

Fehlt eine der drei Pflichtangaben, wird die Anmeldung übersprungen und im Log vermerkt — das Formular funktioniert weiter, die Einsendung geht nicht verloren.

Die Anmeldung läuft über die Queue (ShouldQueue): Der Besucher wartet nicht auf die API, ein Ausfall bei Brevo hält das Formular nicht auf. Lokal ./peaky.sh queue, auf Ploi der Daemon.

Sprache: Das Addon schickt die Site-Sprache als Attribut SPRACHE mit, damit die Bestätigungsmail in der richtigen Sprache verschickt wird. Vor- und Nachname landen als VORNAME/NACHNAME — Zuordnung in config/kreatif-forms.php unter brevo.attributes.

Was dieses Addon nicht tut

  • Keine Mails verschicken. Das macht Statamic Core; Vorlagen liegen im Projekt (resources/views/email/), Empfänger, Betreff und Anhänge stehen im CP am Formular.
  • Keine Feld-Darstellung. Wie ein Formular aussieht, ist Projekt-Design.
  • Keine Spam-Abwehr. Honeypot und Precognition kommen aus Peak.

About

Kreatif Forms: Empfängersteuerung je Formularauswahl (Global „Formular-Empfänger") und Newsletter-Anmeldung über Brevo mit Double-Opt-in (Statamic 6)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages