Hi,
ich versuche die Liste von Bestellungen im Backend zu erweitern. (Shopware 5.1.6+) Leider wird weder mit
override: 'Shopware.apps.LDSOrderListExtension.view.order.list.List',
noch mit
extend: 'Ext.grid.Panel',
die Erweiterung sichtbar. Hier ist der Code: LDSOrderListExtension.php
namespace LDSOrderListExtention;
use \Shopware\Components\Plugin;
class LDSOrderListExtention extends Plugin
{
public static function getSubscribedEvents()
{
return [
'Enlight_Controller_Action_PostDispatchSecure_Backend_Customer' => 'onPostDispatchCustomer'
];
}
public function onPostDispatchCustomer(\Enlight_Event_EventArgs $args)
{
$controller = $args->getSubject();
$request = $controller->Request();
$view = $controller->View();
$view->addTemplateDir( __DIR__.'/Resources/Views/');
$assignedData = $view->getAssign('data');
foreach($assignedData as $key => $order) {
$list = Shopware()->Db()->fetchAll('
SELECT `articleordernumber` FROM `s_order_details` WHERE `orderID` = ?),"")', array ($order["id"]));
foreach($list as $item){
$assignedData[$key]["lds_articleNr"] += $item.", ";
}
}
$view->data = $assignedData;
if ($request->getActionName() == 'getList') {
$view->extendsTemplate('backend/LDS_OrderExtension/view/list/list.js');
}
}
Resources/Views/backend/LDS_OrderExtension/view/list/list.js
//{block name="backend/order/view/list/list"}
// {$smarty.block.parent}
Ext.define('Shopware.apps.LDSOrderListExtension.view.order.list.List', {
extend: 'Ext.grid.Panel',
getColumns:function () {
var me = this;
var columns = me.callOverridden(arguments);
console.log('Erweiterung geladen.');
var column_attribute_name = {
header: 'Artikelnummer',
dataIndex: 'lds_articleNr',
flex: 1,
sortable: true,
};
return Ext.Array.insert(columns, 1, [column_attribute_name]);
}
});
//{/block}
Fehlt da noch etwas oder wo liegt mein Fehler? (Weder die Konsole, noch die PHP Errors zeigen einen Fehler an)