Moin moin,
mein Problem hier ist folgendes…
Ich habe ein Plugin geschrieben, dass in der Artikel-Detail Ansicht einen extra Tab bereitstellt.
In diesem Tab wird via AJAX ein HTML-String (List-Element) generiert und eingebunden.
Nun versuche ich auf den Tab-Content zuzugreifen (wie auf ein DOM-Node).
Hier dazu meine window.js:
/**
*
*/
//{block name="backend/article/view/detail/window" append}
// {$smarty.block.parent}
Ext.define('Shopware.apps.MyCustomPlugin.view.detail.Window', {
override: 'Shopware.apps.Article.view.detail.Window',
/**
* Creates the main tab panel which displays the different tabs for the article sections.
* To extend the tab panel this function can be override.
*
* @return Ext.tab.Panel
*/
createMainTabPanel: function() {
var me = this,
formTab = me.callParent(arguments);
Ext.Ajax.request({
url: '{url controller=FileTree action=getFileList}',
success: function(reponse, request) {
var filetree = reponse.responseText;
me.myCustomTab = Ext.create('Ext.container.Container', {
title: 'MyCustomPlugin',
disabled: true,
name: 'custom-ext-files',
layout: 'border',
html: filetree
});
me.mainTab.insert(me.myCustomTab);
},
failure: function() {
/* @todo: handle failure */
}
});
return formTab;
},
onStoresLoaded: function(article, stores) {
var me = this;
me.callParent(arguments);
/* enable tab */
me.myCustomTab.setDisabled(false);
/* get tab content */
var tabDom = me.myCustomTab.html;
console.log(tabDom); //gibt den HTML-String aus
console.log( Ext.get('customContentId') ); //gibt NULL aus
console.log( document.getElementById('customContentId') ); //gibt ebenfalls NULL aus
},
});
//{/block}
Das Ziel ist es hier auf die Listen-Elemente (im Tab) On-Click Events zu triggern.
Jedoch kriege ich es nicht hin, dass die Liste anhand ihrer ID selektiert werden kann, siehe Beispiel onStoresLoaded function.
Wenn ich allerdings z.B. console.log( Ext.get(‘customContentId’) ) in der Browser Console eingebe, erhalte ich das entsprechende DOM-Element.
Mir kommt es so vor als wäre das Element an der Stelle wo ich es selektieren will noch gar nicht vorhanden.
Welche Möglichkeiten gäbe es hier an das Element heran zu kommen ?
MfG