Eigenes Kontaktformular erstellen

Hallo zusammen,

ich würde gerne ein eigenes, simples Kontaktformular erstellen (komplett unabhängig vom bereits vorhandenen Kontaktformular). Es müssen keine Daten in die Datenbank geschrieben werden, o.ä. Ich benötige einfach nur ein Formular auf einer gesonderten Seite, das mir die Eingaben des Benutzers per E-Mail zustellt.

Leider fehlt mir dazu der Ansatz. Alles was ich bisher gefunden habe ist „Shopware\Core\Content\ContactForm\SalesChannel“. Leider komme ich damit nicht richtig weiter.

Wäre super, wenn mir jemand einen Ansatz bzw. eine Idee geben könnte, wie ich mein Vorhaben umsetzen könnte.
Vielen Dank bereits im Voraus.

Es gibt ein CMS-Element für Formulare. Falls das nicht reicht, es gibt kostenlose Plugins im Store.

Falls das auch nicht reicht. Einfach unter developer.shopware.com folgen, wie man eine eigene Seite/Route hinzufügt, und die POST Daten einfach abfragen und per Mail verschicken. Nicht das CSFR-Token vergessen!

1 „Gefällt mir“

@Max_Shop

Falls das auch nicht reicht. Einfach unter developer.shopware.com folgen, wie man eine eigene Seite/Route hinzufügt, und die POST Daten einfach abfragen und per Mail verschicken. Nicht das CSFR-Token vergessen!

Ersteres ist klar. Die POST Daten abfragen sowie per Mail verschicken ist jedoch genau das, woran ich gerade scheitere. Ich wollte es den „Shopware“-Weg machen (daher habe ich versucht die Logik des Shopware Kontaktformulars nachzuvollziehen). Hast du eventuell ein Code-Beispiel oder so? Oder wie würdest du es machen? Danke noch mal.

Auf dem Blog findest du auch Beispiele, wie du POST abfragst (falls es in dem Beispiel nicht drin sein sollte).

1 „Gefällt mir“

Danke noch mal, ich habe das Formular jetzt soweit fertig. Jetzt habe ich nur noch ein Problem: Wenn ich das Formular abgesendet habe und die Seite neu lade, werden die Formulardaten erneut gesendet. Wie könnte ich prüfen, ob das Formular die Daten bereits gesendet hat?

Eine zufällig id in das Formular schreiben und die in der Datenbank speichern. Wenn die ID schon existiert, dann den Post verwerfen.