Hallo Entwickler-Gemeinde,
ich bin neu in Shopware und setze gerade auf Basis des Response-Theme an ein neues Layout um. Eine Anforderung war dabei aus dem Checkout-Info Widget (Mein Konto, Merkzettel und Warenkorb) die zwei Buttins Mein Konto und Merkzettel in die Top-Bar zu verlagern. Nach ersten Anpassungen muss ich feststellen, dass das einfach ausblenden aus dem Widget und Code rüberkopieren in das Topbar Template nicht ausreicht, weil daduch diese Buttons nicht mehr aus einem Widget kommen und cached werden. Hätte ich das komplette Widget nach oben gezogen, wäre es kein Problem, jedoch gabe ich so keinen Zugriff mehr auf die Variablen die ich in den beiden Buttons benötige.
Meine Lösung war die Erstellung eines neuen Plugins, welches ein weiteres Widget bereitstellt mit zwei Actions und zwei Views, welche dann für die Buttons benutzt wurden. Dadurch konnte ich auch die Session-Variablen an die Views übergeben, so dass die Funktionalität wieder hergestellt war.
Erste Frage: Ist das die Lösung die man verwenden sollte, oder gibt es bessere Ansätze?
Zweite Frage: Jetzt habe ich im Theme die Views des Templates als Widget verlinkt. So lange das Plugin aber nicht installiert oder deaktiviert ist, hagelt es natürlich Fehlermeldungen. Kann ich die Logik aus dem Plugin irgendwie direkt in das Theme übernehmen? Oder kann ich Plugins als Abhängigkeit für ein Theme deklarieren?
Freundliche Grüße
Patrick