Backend/ExtJS Erweiterung der Kategorieansicht um ein Dropdown

Hallo zusammen,

ich habe ein paar Probleme bei der Erstellung eines Backend Plugins welches die Kategorie um ein Dropdown erweitern soll.

Grundsätzlich erweitere ich die Kategorien

//{block name="backend/category/view/tabs/settings" append}

Dort füge ich ein neues Fieldset ein.

Im Fieldset befindet sich ein dropdown welches anhand eines Models entsprechend Daten zur Auswahl anbieten soll.
Momentan ist es nun leider so das ich ein “Cannot read property ‘load’ of undefined” erhalte.

//{block name="backend/category/view/tabs/settings" append}
Ext.define('Shopware.apps.HaendlerbundFoobarCategories.view.category.tabs.settings', {
    override:'Shopware.apps.Category.view.category.tabs.Settings',
    
    getItems: function() {
        var me = this;
        var items = me.callParent(arguments);
        me.FooBar = me.getFooBarSection();
        items.push(me.FooBar);
        return items;
    },
    
    getFooBarSection : function()
    {
        var me = this;
        return Ext.create('Ext.form.FieldSet',{
            title: 'FooBar Verlinkung',
            anchor: '100%',
            defaults : me.defaults,
            disabled : false,
            items : me.getDropdowns()
        });
    },
    
    getDropdowns:function(){
        var me = this;
        
        return me.templateComboBox = Ext.create('Ext.form.field.ComboBox', {
            xtype:'combobox',
            fieldLabel: 'FooBar Product',
            store: me.fooBarProducts,
            labelWidth: 155,
            valueField: 'id',
            displayField:'title',
            editable: true,
            allowBlank:true,
            name:'fbproduct'
        });
    }
});
//{/block}

Der angegebene store liegt unter Views/backend/haendlerbund_foobar_categories/store/foo_bar_products

Der Inhalt des Stores sieht dann unter anderem wie folgt aus:

//{block name="backend/haendlerbund_foobar_categories/store/fooBarProducts"}
Ext.define('Shopware.apps.HaendlerbundFoobarCategories.store.fooBarProducts', {

//...
model: 'Shopware.apps.HaendlerbundFoobarCategories.model.fooBarProducts',
proxy : {
        type : 'ajax',
         /**
         * Configure the url mapping for the different
         * store operations based on
         * @object
         */
        api : {
            read : '{url controller=HaendlerbundFoobarCategories action=getProducts}'
        },
        /**
         * Configure the data reader
         * @object
         */
        reader : {
            type : 'json',
            root: 'data'
        }
    }
});
//{/block}

Meine Frage nun:

Wo ist mein genereller Fehler? Namespacing? Naming der Pfade? Wo kann ich noch schauen?

Am Ende soll das ganze dann natürlich entsprechend die Auswahl speichern.

 

EDIT

Ich habe das naming von jeweils ‘haendlerbund_foobar_categories’ zu ‘HaendlerbundFoobarCategories’ angepasst. Ich vermute das ich diesbezüglich
das Naming in den files mit dem Naming der files selbst vermischt habe.

Leider bleibt das dropdown weiterhin leer.

Ich habe meine Ursprungsfrage angepasst an den momentanen Stand. Leider kann ich noch immer keinen Fortschritt berichten.

Mittlerweile habe ich mir erlaubt die Frage auch im englischen bei StackOverflow zu stellen.

http://stackoverflow.com/questions/40716220/shopware-backend-enhance-category-with-extjs

Hallo Daniel,

bei deinen genannten Beispielen passen einige Dinge nicht.
Zum Beispiel wird an keiner Stelle der Store geladen:
 me.fooBarProducts
Zusätzlich reicht es nicht, neue Dateien im richtigen Pfad abzulegen.
Man muss sie z.B. „extendsTemplate“ selbst in das Core-Module laden.

Ein vollständiges und funktionierendes Beispiel findest du unter:

https://developers.shopware.com/developers-guide/backend-extension/#example-#1:-simple-extension

Gruß Heiner