Übergabe von HTTPParameters an Globalembeddedforms Controller in {action} für Formsubmit

Hallo *,

ich rufe ein Formular in /frontend/detail/tabs/kontakt.tpl auf, um “Fragen zum Artikel” ohne Modalfenster bzw. ohne wietere Seitenladungen zu verwenden:

{action module=widgets controller=Globalembeddedforms action=show sFid=25 embeddedForm=1 noBorder=1 noPadding=0 noMarginTop=1 hideFormheader=1}

Dabei verwende ich dieses Plugin, um die Artikeldaten im Formular per Email zu bekommen. Das Plugin braucht “sOrdernumber” in der URL des Formulars:

(beispielsweise http://www.shop.de/anfrage-formular?sInquiry=detail&sOrdernumber=SW10153 ) oder bei
einer Direktverlinkung des Formulars ( beispielsweise
http://www.shop.de/support/index/sFid/16/sInquiry/detail/sOrdernumber/SW10053 ) 
(c) https://shopwaredemo.digitalwert.de/media/pdf/82/b1/be/Anleitung_UebertragungAusgewaehlterArtikelinformationenFormulare.pdf

Ich habe das folgende versucht, aber das hat nicht geholfen: 

{action module=widgets controller=Globalembeddedforms [...abgekürzt...] sOrdernumber=$sArticle.ordernubmer}

Noch weitere Ideen?

Hallo,

was möchtest du denn genau tun? Das von dir genannte action - Widget dürfte dir zumindestens schon einmal das Formular an der gewünschten Stelle anzeigen und auch im Textfeld mit dem Namen inquiry den Text “Ich habe folgende Fragen zum Artikel xxx” eintragen bzw. die Werte in die versteckten Felder auch einfügen (durch das genannte kostenlose Plugin), damit du Sie in der E-Mail mit abfragen kannst. Wozu benötigst du also einen GET - Parameter?

In der Pluginbeschreibung des Plugins steht aber sogar ein Beispiel für das Anfrageformular: {action module=widgets controller=Globalembeddedforms action=show sFid=16 noBorder=1 noPadding=1 embeddedForm=1 ordernumber=$sArticle.ordernumber}. Du musst also statt sOrdernumber auch ordernumber verwenden bzw. das von mir genannte Snippet.

Grüße

Sebastian

@sschreier schrieb:

Hallo,

was möchtest du denn genau tun? Das von dir genannte action - Widget dürfte dir zumindestens schon einmal das Formular an der gewünschten Stelle anzeigen und auch im Textfeld mit dem Namen inquiry den Text „Ich habe folgende Fragen zum Artikel xxx“ eintragen bzw. die Werte in die versteckten Felder auch einfügen (durch das genannte kostenlose Plugin), damit du Sie in der E-Mail mit abfragen kannst. Wozu benötigst du also einen GET - Parameter?

In der Pluginbeschreibung des Plugins steht aber sogar ein Beispiel für das Anfrageformular: {action module=widgets controller=Globalembeddedforms action=show sFid=16 noBorder=1 noPadding=1 embeddedForm=1 ordernumber=$sArticle.ordernumber}. Du musst also statt sOrdernumber auch ordernumber verwenden bzw. das von mir genannte Snippet.

Grüße

Sebastian

Das hat leider gerade auch nicht geholfen. Wo findest du den Action-Aufruf in der Pluginbeschreibung? Ich sehe ihn weder in der Beschreibung noch in PDF-Anletung, die in Installationsanleitung verlinkt ist. Im Code sehe ich weder versteckte Felder mit Artikelnummer noch den Parameter im „action“-Attribut, auch nach Anwendung von „ordernumer=$sArticle.ordernumber“, alle Caches wurden geleert, das Template wurde neu kompiliert. Genau möchte ich, dass ich im Attribut „action“ statt „https://myshop.de/forms/index/id/25“ „https://neu.matches21.de/forms/index/id/25/sOrdernumber/11111“ oder „https://neu.matches21.de/forms/index/id/25?sOrdernumber=111111“ sehe. Weil das in der PDF-Anleitung steht (s. Auszug in meiner ersten Nachricht). Ich bin aber auch nicht sicher, dass es hilft.

Hallo,

das eine Plugin scheint ja dieses zu sein: Formulare für die Einkaufswelten und andere Stellen (Shopseiten, Modalboxen, Off-Canvas, uvm.) | Übergreifende Darstellung | Produktdarstellung | Storefront / Detailanpassungen | Erweiterungen | Shopware Community Store , dort findest du auch meinen genannten Code, speziell im Bereich "Eine Beispieleinbindung für das Anfrageformular ohne Rahmen und ohne Innenabstand wäre: {action module=widgets controller=Globalembeddedforms action=show sFid=16 noBorder=1 noPadding=1 embeddedForm=1 ordernumber=$sArticle.ordernumber}. Anhand der verlinkten Demo beim Plugin sieht man auch, dass die Funktionalität korrekt funktioniert, das Formular wird im Tab angezeigt und enthält auch schon die Artikeldaten in den von mir genannten Feldern.

Das action - Attribut des Formulars soll das Plugin aber auch gar nicht beeinflussen, da der Controller nun mal “forms” ist und die passende Formular - ID 25. Das action - Attribut müsstest du dann ja über einen POST - Request anpassen, weil das Formular ja über einen POST - Request abgesendet wird - wenn du diesem aber weitere Parameter geben willst, müsstest du den Controller von Shopware für die Formulare anpassen, damit der überhaupt die zusätzlichen Parameter auswertet. Wozu du das aber machen willst, ist mir ein Rätsel.

Wie erwähnt: willst du die Informationen des kostenlosen Plugins in die E-Mail des Formulars, musst du gar nichts machen außer das kostenlose Plugin installieren und dann dürften dir auch die verstecken Felder in dem Formular hinzugefügt worden sein (alternativ kannst du diese ja auch manuell der Formular im Backend hinzufügen). Danach musst du die versteckten Feldern nur noch im E-Mail-Template des Formulars im Shopware Backend hinterlegen und fertig, schon hast du die Informationen in der E-Mail des Formulars.

Grüße

Sebastian

1 Like

Das von mir verlinkte Plugin lässt auch ein paar anderen Daten an die Email anknüpfen und nur dann korrekt funktioniert, wenn so verwendet, wie in dem von mir geschreibenem Auszug aus Der Installationsanleitung verwendet wid. Das Plugin, das du, @sschreier‍, verlinkts, verwende ich auch und ich kann mit dem Plugin so wie du beschreiben hast Artikelnummer und Artikelname bekommen, aber nicht die URL des Artikels. Das von mir verlinkte Artikel scheint die URL-Paramenters zu verwenden, um die entsprechende versteckte Felder mit der Daten des Artikels auszüfüllen, wobei die Artikelnummer in URL steht. Daher habe ich gehofft, dass ich einen Weg finden das Formular so einzubauen, dass das Plugin die Daten bekommt. 

Aber im schlimmsten Falle kann ich auch ohne URL weiter leben.