Nur bestimmte Action überschreiben?

Irgendwie stehe ich auf dem Schlauch und bräuchte mal einen kleinen Schubser in die richtige Richtung.

Ich würde gern die indexAction() im SW Controller Address (Shopware_Controllers_Frontend_Address) mit einer eigenen indexAction überschreiben. Möchte jetzt aber nicht den kompletten Controller von SW überschreiben. Kann ich hier einfach einen eigenen Controller anlegen und dann extends Shopware_Controllers_Frontend_Address?

Moin @R4M‍,

dafür kannst du folgendes Event nutzen:
Enlight_Controller_Action_Frontend_Address_Index

Dieses Event wird  vor  der Ausführung der originalen Action ausgeführt.
Wichtig ist es, dass du deinen „Overwrite“ mit „return true;“ beendet - das sorgt dafür, dass die originale Action nach deiner Anpassung nicht mehr ausgeführt wird - also quasi wie überschreiben.
Vorher einhängen, originale Action verhindern.

Hilft dir das weiter?

Gruß,
Patrick  Shopware

1 „Gefällt mir“

Hallo,

achso, ich muss das mal ausprobieren. Ich spiele mal damit rum.

Ich würde gern noch mal auf dieses Thema zurück kommen wollen. Soweit hat mich das auch schon sehr geholfen. Was müsste ich denn tun, wenn ich die Action NACH der originalen Ausführung passieren soll?

Moin @R4M‍,

dafür nimmst du einfach die üblichen PostDispatch Events. :slight_smile:

Gruß,
Patrick  Shopware

:slight_smile: Vergiss meine Frage, war Betriebsblind :slight_smile: