Hallo zusammen, ich habe ein Problem mit meinem Zahlungsmodul seit der 4er Version. Hier kurz erläutert wie es aufgebaut ist: Ich habe alles in das Verzeichnis “…/Plugins/Community/Backend/MeinZahlungsmodul” platziert, natürlich mit der vorgegebenen Shopware Verzeichnisstruktur. Das Backend funktioniert ohne Probleme. Ich kann dort meine Konfigurations-iFrame laden und dort meine Einstellung durchführen. Diese Werte werden in eigenen Tabelle gespeichert. Auch wird das Zahlungsmodul im Frontend angezeigt. Anschließend sollen die Warenkorb-Daten gesammelt und verarbeitet werden. Das funktioniert in der 3.x Version ohne Probleme, indem ich im Zahlungsmodul im Feld “URL für iFrame” meine PHP-Datei eingebunden habe. Die PHP-Datei hat von der Klasse sPayment geerbt, wodurch ich wunderbar an den Warenkorb rangekommen bin. Seit der 4er Version gibt es nicht mehr die sPayment “payment.class.php” und somit funktioniert es nicht mehr. Ich versuche auch von der “Shopware_Controllers_Frontend_Payment” zu erben aber da kriege ich einen Error, dass er diese Klasse nicht finden kann. Gibt es überhaupt eine Möglichkeite über diesen Weg die PHP-Datei so aufzurufen, dass ich die Warenkorb-Instanz ansprechen kann, damit ich vor dem Bestellvorgang meine Prüfung durchführen kann? Ich habe auch schon versucht den Eintrag “URL für iFrame” rauszunehmen und über einen Hook dieses Skript aufzurufen aber es passiert überhaupt nichts. Die Funktion wird gar nicht aufgerufen: class Shopware\_Plugins\_Backend\_MeinZahlungsmodul\_Bootstrap extends Shopware\_Components\_Plugin\_Bootstrap { public function install(){ $event = $this-\>createHook( 'sOrder', 'sSaveOrder', 'onOrder', Enlight\_Hook\_HookHandler::TypeAfter, 0 ); $this-\>subscribeHook($event); ... } static function onOrder(Enlight\_Hook\_HookArgs $args) { //hier könnte mein Skript aufgerufen werden aber auch ein simples die() wird nicht ausgeführt die("TEST"); } }
Wieso wird die Funktion onOrder nicht ausgeführt? Über jeden Hinweis bin ich sehr DANKBAR
Kann mir niemand helfen?