Hallo Forum,
ich bin gerade dabei ein Plugin zu entwickeln, das (unter anderem) einen Button im Backend einfügen soll. Die eingesetzte Shopware-Version ist 5.2.24.
Der Button soll in der Toolbar im Tab „Positionen“ bei den Bestellungs-Details erscheinen. Er erscheint aber nicht. Und eine Konsolen-Ausgabe, die ich in meinen Code eingefügt habe, wird auch nicht ausgegeben. Wie folgt habe ich das versucht:
Bootstrap.php:
...
public function install() {
...
$this->subscribeEvent(
'Enlight_Controller_Action_PostDispatchSecure_Backend_Order',
'onOrderPostDispatch'
);
return true;
}
...
public function onOrderPostDispatch(Enlight_Event_EventArgs $args) {
$request = $args->getSubject()->Request();
$view = $args->getSubject()->View();
$view->addTemplateDir( __DIR__. "/Views");
if ($request->getActionName() === "loadStores") {
$view->extendsTemplate("backend/MyPlugin/order/view/detail/position.js");
}
}
...
Views/backend/MyPlugin/order/view/detail/position.js:
//{block name="backend/order/view/detail/position" append}
//{namespace name=backend/order/view/detail/position}
Ext.define("Shopware.apps.MyPlugin.Order.view.detail.Position", {
override: "Shopware.apps.Order.view.detail.Position",
createGridToolbar: function() {
var me = this;
var gridToolbar = me.callParent(arguments);
console.log("test");
gridToolbar.add(me.createMyButton());
return gridToolbar;
},
createMyButton: function() {
var me = this;
me.myButton = Ext.create('Ext.button.Button', {
iconCls: "sprite-truck-box-label",
text: "My button"
});
return me.myButton;
}
});
//{/block}
Der Button erscheint nicht und die Testausgabe wird wie gesagt auch nicht ausgegeben. Was mache ich falsch?
Viele Grüße,
MichaG