- Wie können Sie die Shopware-Verkäufe mithilfe der visuellen Marketing-Power von Pinterest steigern?
- So beheben Sie, dass Shopware 6-Variantendaten in benutzerdefinierten Methoden nicht geladen werden
- Warum unterscheidet sich der Thumbnail-Pfad vom Medienpfad in Shopware?
- Warum werden in Shopware nach dem Löschen keine Thumbnails generiert?
So fügen Sie eine Antwortadresse für ein Kontaktformular in Shopware hinzu
Wenn Kunden Anfragen über das standardmäßige Shopware-Kontaktformular senden, erhält der Administrator zwar die E-Mail, kann aber nicht direkt antworten. Dies liegt daran, dass die Empfängeradresse auf die E-Mail-Adresse des Administrators eingestellt ist, was eine schnelle Beantwortung von Kundenanfragen verhindert. Dieser Artikel erklärt, wie Sie dieses Problem lösen können, indem Sie ein benutzerdefiniertes Plugin erstellen, das den MailBeforeValidateEvent-Abonnenten überschreibt.
Problem: Kunden kann nicht direkt geantwortet werden
Wenn ein Kunde eine Anfrage über das Shopware-Kontaktformular sendet, wird die E-Mail standardmäßig an den Shop-Administrator gesendet. Da die E-Mail jedoch vom Shop selbst stammt, wird beim Antworten keine Antwort an die E-Mail-Adresse des Kunden gesendet.
Lösung: MailBeforeValidateEvent überschreiben
Damit der Administrator direkt auf Kunden antworten kann, müssen Sie ein benutzerdefiniertes Plugin erstellen und den MailBeforeValidateEvent-Abonnenten überschreiben. Gehen Sie folgendermaßen vor:
1. Erstellen Sie einen benutzerdefinierten Abonnenten
Erstellen Sie eine neue Abonnentendatei und implementieren Sie den folgenden Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <?php namespace ContactFormReplyTo\Subscriber; use Shopware\Core\Content\MailTemplate\Service\Event\MailBeforeValidateEvent; use Symfony\Component\EventDispatcher\EventSubscriberInterface; class ContactFormSubscriber implements EventSubscriberInterface { public static function getSubscribedEvents(): array { return [ MailBeforeValidateEvent::class => 'onMailBeforeValidate' ]; } public function onMailBeforeValidate(MailBeforeValidateEvent $event): void { $data = $event->getData(); $templateData = $event->getTemplateData(); if ($templateData['eventName'] == 'contact_form.send') { if (isset($templateData['contactFormData'])) { $contactFormData = $templateData['contactFormData']; if (isset($contactFormData['email'])) { $data['replyTo'] = $contactFormData['email']; $event->setData($data); } } } } } |
2. Registrieren Sie den Abonnenten inservices.xml
Fügen Sie die folgende Konfiguration hinzu inservices.xmlSo registrieren Sie den Abonnenten:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <?xml version="1.0" ?> <container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd"> <services> <service id="ContactFormReplyTo\Subscriber\ContactFormSubscriber"> <tag name="kernel.event_subscriber"/> </service> </services> </container> |
Abschluss
Durch die Implementierung dieses benutzerdefinierten Plugins können Shopware-Administratoren nun direkt auf Kundenanfragen über das Kontaktformular antworten. Diese einfache Übersteuerung verbessert die Kommunikationseffizienz und sorgt für einen besseren Kundenservice.
Für weitere UnterstützungKontaktieren Sie 2Hats Logic.
Recent help desk articles

Grüße! Ich bin Aneesh Sreedharan, CEO von 2Hats Logic Solutions. Bei 2Hats Logic Solutions widmen wir uns der Bereitstellung von technischem Fachwissen und der Lösung Ihrer Probleme in der Welt der Technologie. Unsere Blog-Seite dient als Ressource, in der wir Einblicke und Erfahrungen teilen und wertvolle Perspektiven auf Ihre Fragen bieten.
