Auch beim eigenen Plugin (nach Doku erstellt) taucht dieser Fehler nun auf.
Ich konnte den Fehler schon einmal ein weeenig eingrenzen…
Sobald ich in meiner Klasse ExtendArticle die Funktion auskommentiere die die eigene app.js lädt, wird der Fehler nicht mehr ausgegeben.
Ext.define('Shopware.apps.MyPlugin.controller.MyOwnController', {
/**
* Override the article main controller
* @string
*/
override: 'Shopware.apps.Article.controller.Main',
init: function () {
var me = this;
// me.callParent will execute the init function of the overridden controller
me.callParent(arguments);
}
});
Und der Tab:
// This tab should be shown in the article module
Ext.define('Shopware.apps.MyPlugin.view.detail.MyOwnTab', {
extend: 'Ext.container.Container',
padding: 10,
title: 'MyOwnTab',
initComponent: function() {
var me = this;
me.items = [{
xtype: 'label',
html: 'Hello world'
}];
me.callParent(arguments);
}
});
Dann vielleicht nochmal die Frage nach einem funktionierenden Beispiel / Plugin, das genau das tut. Also die Artikel-Bearbeitung um einen Tab erweitern.
Wir helfen hier doch alle freiwillig. Bitte nicht ständig doppelposten und mal etwas Geduld haben. Es ist unfair gegenüber anderen Fragestellern, die ihr Thema nicht ständig nach oben pushen mit Doppelpostings.
onTopic: So ich hab’ mir das jetzt mal im Detail angesehen. Ich hatte das gleiche Problem vor einer Ewigkeit auch mal (leider finde ich gerade den Post nicht mehr). Irgendwie scheinet Shopware gerne mal am Anfang vom ExtJs Code etwas ab. Bei Shopware steht am Anfang meistens der Lizenz Header, daher fällt dies nicht auf. (Wenn du dir mal den geladenen Request ansiehst, merkt man, dass einfach ein Teil vom Code fehlt)
Füge mal bei deinen ExtJS Scripten am Anfang einfach mal folgendes ein:
/**
*
*/
(einfach einen leeren Kommentar).
Dann den Cache leeren und es sollte gehen.
Was genau schiefläuft weiß ich noch nicht. Ich habe gerade keine Zeit es ausführlicher zu debuggen.
Ich muss den Thread hier leider nochmal aufwärmen…
ich bin wie oben beschrieben vorgegangen um einen eigenen Tab innerhalb der Artikel Detailansicht zu generieren.
Soweit so gut … Um den Tab zu befüllen, wird via Ajax request ein record abgefragt und das result als Liste (UL - unordered list [html]) im Tab dargestellt.
Nun soll via Click auf ein Listen-Element eine JS-Funktion ausgeführt werden.
Allerdings ist das DOM-Element immer NULL, egal wie es selektiert wird (z.B. über document.getElementById(‘elementId’); oder Ext.get(‘elementId’)).
Meine Vermutung hier ist, dass das Skript ausgeführt wird bevor die DOM komplett geladen ist.