ich möchte den SQL-Befehl in der Funktion Core->sAdmin->sGetOpenOrderData() anpassen.
Wie gehe ich da am besten vor?
Mich an das Event ‚Shopware_Modules_Admin_GetOpenOrderData_FilterResult‘ zu hängen bringt in dem Fall ja nix, da da ja die Abfrage schon ausgeführt wurde…
Also muss ich trotzdem nen Hook auf diese Funktion setzen und “replace” verwenden, richtig?
Aber wie genau muss ich das denn bauen, wenn ich das in einem Plugin haben möchte?
Also beispielsweise einen Controller erweitern, krieg ich wohl hin.
Aber für so ne Core-Funktion? Muss das dann direkt in die myPlugin.php mit rein?
Und den Hook so in etwa?
class MyPlugin extends Plugin
{
public static function getSubscribedEvents()
{
return [
'sAdmin::sGetOpenOrderData::replace' => 'myCallback'
];
}
public function myCallback(\Enlight_Event_EventArgs $args){
...
}
...
}
Fatal error: Uncaught TypeError: Argument 1 passed to Shopware_Controllers_Frontend_Account::applyTrackingUrl() must be of the type array, null given, called in [SHOPWARE_PATH]/engine/Shopware/Controllers/Frontend/Account.php on line 137 and defined in [SHOPWARE_PATH]/engine/Shopware/Controllers/Frontend/Account.php:751 Stack trace:
#0 [SHOPWARE_PATH]/engine/Shopware/Controllers/Frontend/Account.php(137): Shopware_Controllers_Frontend_Account->applyTrackingUrl(NULL)
#1 [SHOPWARE_PATH]/engine/Library/Enlight/Controller/Action.php(193): Shopware_Controllers_Frontend_Account->ordersAction()
#2 [SHOPWARE_PATH]/engine/Library/Enlight/Controller/Dispatcher/Default.php(549): Enlight_Controller_Action->dispatch('ordersAction')
#3 [SHOPWARE_PATH]/engine/Library/Enlight/Controller/Front.php(222): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_R in [SHOPWARE_PATH]/engine/Shopware/Controllers/Frontend/Account.php on line 751
Aber soweit ich das gesehen habe in der Dokumentation, wird doch bei Plugins auf Enlight_Event_EventArgs verwiesen.
Macht das einen Unterschied ?
Wäre gut, wenn hierzu mal jemand was sagen könnte, und vielleicht doch was zu meinem Post schreiben kann zum lösen.