Support Form: Konfiguration
Support Form für Sylius - Channel-Konfiguration mit Betreff-Quelle, Empfänger und Datenschutz-Link, Zusatzfelder im Admin, eingegangene Anfragen und Praxis-Beispiele
Support Form: Konfiguration
Live Demo: Teste dieses und weitere Plugins live — ohne Installation, ohne Risiko: demo.markus-michalski.net
Admin-Oberfläche
Das Plugin hat drei Bereiche, die du über einen einzigen Menüeintrag erreichst: Admin-Sidebar → MMKreativ Plugins → Support-Formular. Der Eintrag öffnet die Channel-Konfiguration. Von dort führen zwei Buttons zu den Feldern und zu den eingegangenen Anfragen.
Das Plugin liest keine Werte aus YAML-Dateien oder Umgebungsvariablen. Alle Einstellungen liegen in der Datenbank und werden im Admin gepflegt.
| Bereich | Pfad | Zweck |
|---|---|---|
| Channel-Konfiguration | /admin/support-form-channel-configurations |
Betreff-Quelle, Empfänger und Datenschutz-Link pro Channel |
| Support-Formularfelder | /admin/support-form-fields |
Zusatzfelder des Formulars, gelten für alle Channels |
| Support-Anfragen | /admin/support-requests |
Eingegangene Anfragen ansehen und löschen |
Der Admin-Pfad folgt dem Parameter sylius_admin.path_name. Hast du den Standard admin geändert, ändert sich der erste Pfadteil entsprechend.
Channel-Konfiguration
Pro Channel gibt es höchstens eine Konfiguration. Legst du für einen Channel eine zweite an, meldet das Formular „Für diesen Channel existiert bereits eine Support-Formular-Konfiguration.“
| Einstellung | Standard | Beschreibung |
|---|---|---|
| Channel | Der Channel, für den die Konfiguration gilt | |
| Betreff-Quelle | Produkte | Woher die Auswahl im Feld „Betreff“ kommt: Produkte oder Kategorien |
| Produkte | leer | Diese Produkte stehen zur Auswahl, wenn die Betreff-Quelle „Produkte“ ist |
| Kategorien | leer | Diese Kategorien stehen zur Auswahl, wenn die Betreff-Quelle „Kategorien“ ist |
| Empfänger-E-Mail | leer | Hierhin geht die Benachrichtigung über eine neue Anfrage. Ohne Angabe wird die Kontakt-E-Mail des Channels verwendet. |
| Seite der Datenschutzerklärung | leer | Macht „Datenschutzerklärung“ in der Einwilligung zum Link. Ohne Angabe bleibt es ein reiner Text. |
Wechselst du die Betreff-Quelle, bleibt die Auswahl der jeweils anderen Quelle erhalten. Du kannst also zwischen Produkten und Kategorien hin- und herschalten, ohne die Listen neu anzulegen.
Wann das Formular einen Freitext anzeigt
Der Betreff ist immer ein Pflichtfeld. Das Formular zeigt eine Auswahlliste, solange die Liste der aktiven Betreff-Quelle nicht leer ist. In diesen Fällen tippt der Kunde den Betreff stattdessen frei ein:
- Der Channel hat keine Konfiguration.
- Die aktive Quelle ist leer, zum Beispiel „Produkte“ ohne ein einziges ausgewähltes Produkt.
Bei einer Auswahlliste speichert das Plugin die Bezeichnung des Produkts oder der Kategorie als Betreff, nicht deren Code. Die Anfrage bleibt lesbar, auch wenn du das Produkt später umbenennst oder löschst.
Datenschutz-Link
Im Feld „Seite der Datenschutzerklärung“ sind drei Schreibweisen möglich:
| Eingabe | Beispiel | Hinweis |
|---|---|---|
| Routenname | shop_legal_datenschutz |
Der Link folgt automatisch der aktuellen Sprache |
| Pfad | /{_locale}/datenschutz |
Beginnt mit genau einem /. {_locale} wird durch die aktuelle Sprache ersetzt. |
| Vollständige URL | https://example.com/datenschutz |
http oder https |
Der Link öffnet in einem neuen Tab. Gibst du einen Routennamen an, der nicht existiert, zeigt das Formular die Einwilligung ohne Link. Eine Eingabe in einem anderen Format lehnt das Admin-Formular mit der Meldung „Bitte einen Routennamen, einen Pfad mit genau einem „/“ am Anfang oder eine vollständige http(s)-URL eingeben.“ ab.
Zusatzfelder
Unter Support-Formularfelder definierst du, was der Kunde zusätzlich zum Betreff ausfüllt. Die Felder gelten für alle Channels und erscheinen in der Reihenfolge ihrer Position.
Fest vorgegeben sind nur der Betreff und die Einwilligung. Auch Name, E-Mail-Adresse und Nachricht legst du selbst als Felder an. Das Plugin schreibt sie nicht vor.
| Einstellung | Beschreibung |
|---|---|
| Übersetzungen | Bezeichnung (Pflicht) und Platzhalter (optional) je Sprache |
| Feldtyp | Text, mehrzeiliger Text, E-Mail, Zahl, Checkbox, Datum, Uhrzeit, Datum und Uhrzeit oder Auswahl |
| Pflichtfeld | Das Formular lässt sich nur mit einer Antwort absenden |
| Position | Reihenfolge im Formular, kleinere Zahlen zuerst |
| Minimaler / maximaler Wert | Nur für den Feldtyp „Zahl“ |
| Minimale / maximale Länge | Nur für die Feldtypen „Text“ und „Mehrzeiliger Text“ |
| Auswahloptionen | Nur für den Feldtyp „Auswahl“: Wert und Bezeichnung je Option |
Die Eingabefelder für Grenzwerte und Auswahloptionen sind immer sichtbar, auch wenn sie zum gewählten Feldtyp nicht passen. Ein Hilfetext nennt jeweils, für welchen Typ sie gelten.
Die Antwort-Momentaufnahme
Beim Absenden speichert das Plugin jede Antwort zusammen mit der Bezeichnung des Feldes. Spätere Änderungen an einem Feld wirken sich deshalb nicht auf bereits eingegangene Anfragen aus, und auch ein gelöschtes Feld lässt eine alte Anfrage lesbar. Ein Kästchen speichert das Plugin als „yes“ oder „no“, Datums- und Zeitangaben im Format ihres Feldtyps. Leere Antworten werden übersprungen.
Die Antwort-Adresse
Ein Feld vom Typ E-Mail hat eine besondere Rolle: Die erste beantwortete E-Mail-Angabe, nach Position sortiert, wird zur Adresse der Anfrage. An diese Adresse geht die Bestätigung, und sie dient als Antwortadresse in deiner Benachrichtigung. Legst du kein E-Mail-Feld an, hat die Anfrage keine Adresse. Dann gibt es weder eine Bestätigung an den Kunden noch einen Reply-To-Header in der Benachrichtigung.
Eingegangene Anfragen
Die Liste zeigt E-Mail, Betreff, Channel und Zeitpunkt. E-Mail, Betreff und Zeitpunkt sind sortierbar, die neueste Anfrage steht oben. Die Suche durchsucht E-Mail und Betreff, nicht die Antworten auf deine Zusatzfelder, weil diese in einer nicht durchsuchbaren Spalte liegen.
Pro Zeile gibt es Anzeigen und Löschen. Bearbeiten ist nicht möglich: Eine eingegangene Anfrage bleibt unverändert. Wird ein Channel gelöscht, bleiben seine Anfragen erhalten, nur die Channel-Angabe entfällt.
Praxis-Beispiele
Hilfe zu einem gekauften Produkt. Lege für den Channel eine Konfiguration mit der Betreff-Quelle „Produkte“ an und wähle die Produkte aus, zu denen Kunden Fragen stellen. Ergänze die Felder „E-Mail“ (Typ E-Mail, Pflicht, Position 10) und „Nachricht“ (Typ Mehrzeiliger Text, Pflicht, maximale Länge 2000, Position 20). Der Kunde wählt sein Produkt, schreibt seine Frage und bekommt eine Bestätigung.
Allgemeines Support-Formular nach Themen. Wähle die Betreff-Quelle „Kategorien“ und die Kategorien „Versand“, „Rechnung“ und „Reklamation“. Lege zusätzlich das Feld „Bestellnummer“ (Typ Text, Pflicht) und das Feld „Dringlichkeit“ (Typ Auswahl, Optionen normal und dringend) an.
Anfragen in dein Ticketsystem leiten. Trage unter „Empfänger-E-Mail“ das Eingangspostfach deines Ticketsystems ein, zum Beispiel support@example.com. Beantwortet der Kunde das E-Mail-Feld, steht seine Adresse als Reply-To in der Benachrichtigung, und das Ticketsystem kann direkt an ihn antworten.
Löschfrist durchsetzen. Richte den Cronjob aus Installation: Alte Anfragen regelmäßig löschen ein, damit personenbezogene Daten nicht unbegrenzt gespeichert bleiben.