Method "sAPI::Api" not found failure

Hallo, ich abstrahiere gerade die Shopware API und versuche darüber den Status von Bestellungen zu ändern. Das Funktioniert soweit auch ganz reibungslos (mittels sAPI->export->shopware->sUpdateOrderStatus()). Allerdings soll bei einer Statusänderung natürlich auch eine Mail an den Kunden Versand werden. Hierzu fand ich bereits hier ein Thema, wie das gelöst werden kann, hat aber nicht so funktioniert wie es dort als Lösung steht: programmierung-f13/mailversand-bei-supdateorderstatus-t4942.html Denn Shopware()->Modules() existiert nicht und ich kann somit natürlich die sOrders Klasse nicht laden. Daraufhin habe ich diese Klasse von Hand eingebunden und verwendet: require\_once '../../engine/connectors/api/api.php'; require\_once '../../engine/core/class/sOrder.php'; $api = new sAPI(); $export = $api-\>export-\>shopware; $sOrder = new sOrder(); Versuche ich nun die Mail zu generieren: [code] try { $mail = $sOrder->createStatusMail(4, 2); } Catch(Exception $e) { echo ’

'.$e.'

'; } [/code] bekomme ich folgende Exeption: exception 'Enlight\_Exception' with message 'Method "sAPI::Api" not found failure' in /var/www/webXX/html/shop/engine/core/class/sOrder.php:1243 Stack trace: #0 /var/www/webXX/html/shop/engine/core/class/sOrder.php(1243): Enlight\_Application-\>\_\_call('Api', Array) #1 /var/www/webXX/html/shop/engine/core/class/sOrder.php(1243): sAPI-\>Api() #2 /var/www/webXX/html/shop/api/Test/import.php(30): sOrder-\>createStatusMail(4, 5) #3 /var/www/webXX/html/shop/api/Test/import.php(58): applyStatesByFile('lala.xml') #4 {main} Hat jemand eine Idee wie ich das fixen, oder per Shopware API Status Mails verschicken kann? Vielen Dank!

Ich habe jetzt nochmal den Quellcode durchstöbert und herausgefunden, dass die Exception geworfen wird, sollte eine Ressource in Enlight nicht geladen ist: public function \_\_call($name, $value = null) { if(!$this-\>Bootstrap()-\>hasResource($name)) { throw new Enlight\_Exception('Method "'.get\_class($this).'::'.$name.'" not found failure', Enlight\_Exception::Method\_Not\_Found); } return $this-\>Bootstrap()-\>getResource($name); } Ich habe nun in meinem Code versucht die Resource „Api“, nicht ja nicht gefunden werden kann zu laden: Shopware()-\>Bootstrap()-\>loadResource('Api'); funktioniert aber dennoch nicht. Gleiche Exception wie zuvor auch. Hat noch jemand eine Idee?

Checker Kids aufgepasst, ich hab mich nun durch den Code gefummelt und geschaut wie ich das Problem lösen kann. Folgendes ist dabei rausgekommen: require\_once '../../engine/connectors/api/api.php'; require\_once '../../engine/core/class/sOrder.php'; $api = new sAPI(); $export = $api-\>export-\>shopware; $sOrder = new sOrder(); Shopware()-\>Bootstrap()-\>registerResource('Api', $api); Shopware()-\>Bootstrap()-\>registerResource('Export', $export); Shopware()-\>Bootstrap()-\>loadResource('Api'); $mail = $sOrder-\>createStatusMail(4, 2); if($mail != null) { $sOrder-\>sendStatusMail($mail); } Nicht die feine Englische Art, aber anders ging es nicht.