Anfrage Formular - weitere Daten übergeben

Hallo, wie kann ich an das Anfrageformular für Artikel weitere Artikeldaten durchreichen?

Die URL ist ja die:  href="{$sInquiry}"

ich hab es schon mit einfachen Parametern versucht, aber das funktioniert nicht… 

href="{$sInquiry}&sFreitext={$sArticle.freitextfeld1}"

hab den Zugriff im E-Mail-Template dann mit {sVars.sFreitext} versucht aber das funktioniert nicht.

wie kann ich ein Freitextfeld ans Formular weitergeben und es dort im E-Mail-Template nutzen?

Hallo,

über weitere Parameter in der URL wirst du da nicht weiter kommen, da die ja nicht ausgewertet werden und auch bei einer Fehleingabe beim Abschickenn des Formulars weg wären. Der einzige und richtige Weg wäre, den Form - Controller entsprechend zu erweitern und damit das entsprechende Formularfeld automatisch auszufüllen. 

Welche Daten brauchst du denn noch? Gibt doch relativ viele (kostenlose) Plugins im Shopware Store, die das Anfrageformular um weitere (Artikel-)Informationen bereichern etc, siehe: https://store.shopware.com/search?sSearch=Formular+Artikelinformationen .

Grüße

Sebastian

Hallo @sschreier‍,

ich brauche dort bestimmte Freitextfelder des Artikels.Das können diese Plugins alle nicht, wenn ich richtig gesehen habe.

Hallo,

die Plugins können ja schlecht wissen, welche Artikel-Freitextfeld du brauchst, also nein. Dann müsstest du es selbst umsetzen, Lösung hab ich ja oben beschrieben.

Grüße

Sebastian

@sschreier‍ wenn du von “Controller erweitern” speichst, reden wir dann von nem After-Hook?

Hallo,

nein, einen Hook sollte man als letztes Mittel nutzen. Einfach ein Pre- oder Post-Dispatch auf den entsprechenden Controller und die Daten aus der Datenbank / Model holen und dann die entsprechenden Formularfelder damit entsprechend füllen.

Grüße

Sebastian

@sschreier‍

leider nicht so easy… das neue Feld hab ich über den PostDispatch schon reingekriegt,

allerdings werden die Platzhalter in der Mail dann in einer Methode commitForm befüllt, und zwar auf Basis eines privaten Arrays von Elementen. Mein neues Element ist da natürlich nicht drin…Das passiert mittels privater Methode “replaceVariables”, das heißt da könnte ich nicht mal nen Hook drauf hängen…

Hallo,

und warum erstellst du nicht einfach das gewünschte Feld im Formular im Backend selbst, speicherst dein Feld in einem versteckten Feld und überträgst es dann beispielsweise per JavaScript dann einfach in das Feld vom Formular? Schon wäre es im Formular und somit in der E-Mail mit drin. Man muss es sich ja nicht immer allzu schwer machen.

Grüße

Sebastian