Ich versuche momentan das Kontaktformular auf mehreren Seiten im Footer anzuzeigen.
Momentan wird das Formular aber nur auf der original Seite angezeigt, die mir auch im Backend, das Kontaktformular vorgibt
Link zum Formular: shopware.php?sViewport=ticket&sFid=5
Anscheinend findet der Server nur auf dieser Webseite die Werte, die er für die Variablen einsetzen soll (textbox und titel) auf den anderen Seiten findet er für die Variable
$sSupport.sElements[$sKey].typ
nichts.
Ich habe bereits folgendes probiert:
PHP File, wo Variablen deklariert werden manuell included
Im Backend in der Link Adresse von den anderen Seiten den oben gezeigten Link eingefügt
Die Values, die für die Variablen ausgespuckt werden sollen manuell gesucht
Alle drei Aktionen waren aber erfolglos…
Ich hoffe mir kann irgendjemand helfen.
Viele Grüße,
Max Ko.
Hier noch zwei Bilder. Das erste zeigt, wie es unter dem oben gezeigten Link aussieht und das zweite, wie es auf jeder anderen Seite aussieht
Du könntest ein Plugin schreiben dass sich auf die Aufrufe der entsprechenden Controller registriert und die benötigten Variablen an das Template reicht.
Ein konkretes Beispiel für diesen Use-Case gibt es imho noch nicht. Prinzipiell könnte es aber etwas so aussehen:
Registrierung auf ein breites PostDispatch-Frontend-Event (Shopware events)
Im Callback prüfen ob es nötig ist die Parameter anzuhängen (wenn einer der relevanten Controller aufgerufen wurde und es ein GET-Request ist) (Shopware events)
Je nachdem wie aufwändig die Variablen zu generieren und wie generisch sie benannt sind könnte es auch reichen sie einfach IMMER an das Template zu reichen und sich die Prüfungen zu sparen.
Je nachdem wie aufwändig die Variablen zu generieren und wie generisch sie benannt sind könnte es auch reichen sie einfach IMMER an das Template zu reichen und sich die Prüfungen zu sparen.
Erstmal Danke für die Hilfe.
Ich bin nun allerdings etwas aufgeschmisse:
Woher weiß ich, was ich bei dem example plugin ändern muss
/**
* @param \Enlight_Controller_ActionEventArgs $args
*/
public function onPostDispatch(\Enlight_Controller_ActionEventArgs $args)
{
$args->getSubject()->View()->assign('sUserloggedIn', Shopware()->Modules()->Admin()->sCheckUser());
}
Ich möchte nicht die Variable sUserloggedIn haben, sondern sSupport. Allerdings muss ich nach dem Komma ja eine Art Pfad angeben. Wie finde ich diesen Pfad heraus?