Hallo.
Ich versuche gerade ein Addon für ein gekauftes Plugin zu schreiben. Das funktioniert soweit auch ganz gut jedoch erhalten ich den Fehler “TypeError: Cannot read property ‘$isClass’ of null” sobald ich probiert die ExtJs Klasse des Plugin mit override zu überschreiben. Anscheinend ist die zu überschreibende Klasse noch nicht vollständig instanziiert. In den Developer Tools sehe ich das meine Addon Klasse nach der zu überschreibenden Klasse eingebunden wird. Wieso klappt also der override nicht? Was mache ich falsch?
BACKEND SUBSCRIBER
// event
'Enlight_Controller_Action_PostDispatchSecure_Backend_Article' => array('onArticlePostDispatch', 110),
// erweiterung backend js
if ($arguments->get('request')->getActionName() === 'load') {
$view->extendsTemplate('backend/master_plugin/addon/view/detail/window.js');
}
DEFINITION IM GEKAUFTEN PLUGIN
//{block name="backend/article/view/detail/window"}
// {$smarty.block.parent}
Ext.define('Shopware.apps.MasterPlugin.view.detail.Window', {
override: 'Shopware.apps.Article.view.detail.Window',
DEFINITION IM ADDON FÜR DAS GEKAUFTE PLUGIN
//{block name="backend/article/view/detail/window"}
//{$smarty.block.parent}
Ext.define('Shopware.apps.MasterPlugin.Addon.view.detail.Window', {
override: 'Shopware.apps.MasterPlugin.view.detail.Window',
FEHLER STACKTRACE
TypeError: Cannot read property '$isClass' of null
at Object.override (https://shopurl/engine/Library/ExtJs/ext-all.js?201902250948:21:1642)
at Object.classReady (https://shopurl/backend/base?file=bootstrap&loggedIn=1551772882:3272:5)
at Object.onCreated (https://shopurl/engine/Library/ExtJs/ext-all.js?201902250948:21:47632)
at Object.Manager.createOverride (https://shopurl/backend/base?file=bootstrap&loggedIn=1551772882:3283:4)
at Object.define (https://shopurl/engine/Library/ExtJs/ext-all.js?201902250948:21:53280)
at eval (/backend/Article/load/?f=m/Batch|m/PriceGroup|m/PropertyGroup|m/PropertyOption|m/Template|m/Category|m/Media|m/SeoCategory|m/Unit|m/Similar|m/Accessory|m/Article|m/Price|m/Detail|m/Link|m/Download|m/Esd|m/EsdFile|m/Statistic|m/Serial|m/Configurator|m/ConfiguratorGroup|m/ConfiguratorSet|m/ConfiguratorOption|m/ConfiguratorTemplate|m/Dependency|m/PriceVariation|m/Field|m/Stream|m/MediaMapping|m/MediaMappingRule|m/Property|v/detail/Toolbar|v/detail/Window|v/detail/Settings|v/detail/Properties|v/detail/Prices|v/detail/Base|v/category/Tree|v/category/Seo|v/category/List|v/category/DropZone|v/image/List|v/image/Info|v/image/DropZone|v/image/DataView|v/image/Mapping|v/image/NewRule|v/image/Progress|v/variant/List|v/variant/Configurator|v/variant/Detail|v/variant/NumberProgress|v/variant/Progress|v/variant/ImageRelationProcess|v/variant/configurator/Dependency|v/variant/configurator/Sets|v/variant/configurator/GroupEdit|v/variant/configurator/OptionEdit|v/variant/configurator/Mapping|v/variant/configurator/Template|v/variant/configurator/PriceVariation|v/variant/configurator/PriceVariationRule|v/esd/List|v/esd/Detail|v/esd/Serials|v/statistics/List|v/statistics/Chart|v/crossselling/Tab|v/crossselling/Base|v/crossselling/ProductStreams|v/resources/Links|v/resources/Downloads|store/Batch|store/Detail|store/CategoryPath|store/CategoryTree|store/Variant|store/Group|store/Option|store/Esd|store/EsdFile|store/Statistic|store/Serial|store/Variation|store/Dependency|store/ConfiguratorSet|store/MediaMapping|store/Property|c/Main|c/Detail|c/Category|c/Media|c/Variant|c/PriceVariation|c/Esd|c/Statistic|c/Crossselling&no-cache=1551772882+1+1:1598:5)
at https://shopurl/engine/Library/ExtJs/ext-all.js?201902250948:21:5356
at Object.Ext.globalEval (https://shopurl/engine/Library/ExtJs/ext-all.js?201902250948:21:5369)
at Object.success (https://shopurl/backend/base?file=bootstrap&loggedIn=1551772882:3600:5)
at Object.callback (https://shopurl/engine/Library/ExtJs/ext-all.js?201902250948:21:67496)