Registrierung auf Event createdocument

eine frage - wenn ich ich über

 $this-\>subscribeEvent( **'Enlight\_Controller\_Action\_Backend\_Order\_createDocument'** , **'onCheckoutConfirmAction'** );

auf die function createDocument im Ordercontroller registriere, warum wird dann kein event gefeuert wenn z.b. eine rechnung nicht auf dem bestelldokument sondern über den batchprozess erstellt wird? die aufgerufene function ist dieselbe, nur wird diese eben aus der batchaction aufgerufen, im anderen fall über die createdocumentaction.

weiß da wer warum das so ist?

lg zal

Hi,

mit dem Event registrierst du dich ja auf die *createDocumentAction*. Die wiederum ruft dann die Methode *createDocument* auf. Im Fall der Stapelverarbeitung wird die *createDocumentAction* gar nicht aufgerufen, sondern die \Shopware_Controllers_Backend_Order::batchProcessAction. Die wiederum ruf dann die *createDocuments* auf, die dann ebenfalls die *createDocument* callt.

Entsprechend greift dein Subscriber nur für die Einzel-Erstellung von Dokumenten, nicht für die Stapelverarbeitung. 

All diese Methoden rufen letztlich übrigens \Shopware_Components_Document::render, \Shopware_Components_Document::assignValues etc auf, die du jeweils hooken kannst. Vll. hilft dir das ja weiter?

Daniel

1 „Gefällt mir“

@Daniel Nögel schrieb:

Hi,

mit dem Event registrierst du dich ja auf die *createDocumentAction*. Die wiederum ruft dann die Methode *createDocument* auf. Im Fall der Stapelverarbeitung wird die *createDocumentAction* gar nicht aufgerufen, sondern die \Shopware_Controllers_Backend_Order::batchProcessAction. Die wiederum ruf dann die *createDocuments* auf, die dann ebenfalls die *createDocument* callt.

Entsprechend greift dein Subscriber nur für die Einzel-Erstellung von Dokumenten, nicht für die Stapelverarbeitung. 

All diese Methoden rufen letztlich übrigens \Shopware_Components_Document::render, \Shopware_Components_Document::assignValues etc auf, die du jeweils hooken kannst. Vll. hilft dir das ja weiter?

Daniel

 

 

hallo daniel,

danke für die info! das hilft mir sogar sehr weiter und ich werd das auch so implementieren wenn es mir gelingt! danke nochmal lg andreas