Controller um Action erweitern

Hallo Community, 

kann mir jemand einen Hinweis geben, wie ich z.B.: den Controller “Note” um eine Action erweitern kann? Sodass dieser dann über {url controller=‘note’ action=‘neueAction’} erreichbar wäre?

Wichtig wäre, dass in dieser neuen Action auch alle Variablen funktionieren, welche in der index-Action vorhanden sind ;-)

Vielen Dank!

Hi mdsw,

das funktioniert analog zu diesem Thread: https://forum.shopware.com/discussion/comment/149341/#Comment_149341 (dort wird der Account Controller um eine Action erweitert)

Damit die Variablen zur Verfügung stehen, muss du diese dem View zuweisen. Welche das sind findest du hier: shopware/Note.php at 5.3 · shopware/shopware · GitHub

Viele Grüße

2 „Gefällt mir“

Hi simkli, 

vielen dank, ich werde das so mal versuchen :wink:

Moin @mdsw‍!

Ich möchte hier noch was ergänzen, da dies in der Vergangenheit häufiger vergessen wurde:
Wichtig bei der o.g. Lösung ist das „return true“ am Ende der Methode, das ist so aber auch in der vorgeschlagenen Lösung vorhanden.
Wenn du das weglässt oder jetzt nachträglich rauslöschst, kann das gut und gerne mal knallen.

Warum?
Der Lösungsweg kann auch auf existierende Actions angewendet werden und wird  vor  der originalen Action aufgerufen.
Mit einem return true verhinderst du die Ausführung der originalen Action.
In deinem Fall gibt es keine originale Action, du überschreibst quasi eine nicht existierende Action.
Solltest du also das „return true“ weglassen, würde Shopware versuchen die überschriebene und nicht vorhandene Original Action aufzurufen.  *boom*

TL;DR: Lass das „return true“ auf jeden Fall drin! :slight_smile:

Gruß,
Patrick  Shopware

1 „Gefällt mir“