Markus Michalski FAQ

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

English Version

Zurück zur Übersicht

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:

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.

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.