Backend: eigenes model+store mit Datenbank verknüpfen

Hallo,

Ich stehe hier ein wenig auf dem Schlauch. Ich arbeite an einem kleinem Plugin, der vorerst einige Daten eines Artikels laden soll, die dann später verwendet (aber nicht modifiziert) werden.

Soweit habe ich alles gemäß aufgebaut, und wenn ich mein Model von z.B. ‘Shopware.apps.Article.store.Detail’ ableite, bekomme ich meine Daten auch. Nun brauche ich aber bloß eine kleine Untermenge der Daten die dieses ‘Detail’ Model enthält, und möchte auch aus Sauberkeits- und Lerngründen mein Model und Store nur von Ext.data.Store ableiten.

Ext.define('Shopware.apps.MyPlugin.store.MyStore', {
    extend: 'Ext.data.Store',

    model: 'Shopware.apps.MyPlugin.model.MyModel',

    proxy:{
        type:'ajax',
        url:'{url action="getArticle"}',
        reader:{
            type:'json',
            root:'data',
            totalProperty:'total'
}}});

Dies ist eigentlich das gleiche zum ‘Shopware.apps.Article.store.Detail’, welcher mir meine Daten ja auch gibt. Es ist mir aber schon klar dass hier irgenwas fehlen muss, woher soll dieses Store denn wissen das es aus sämtlichen s_article verwandten Datenbank-tables laden soll? Hier ist mein Model:

Ext.define('Shopware.apps.MyPlugin.model.MyModel', {
    extend: 'Shopware.data.Model',
    
    configure: function() {
        return {
            controller: 'MyController'
        };
    },

    fields: [
        { name: 'id', type: 'int', useNull: true },
        { name: 'name', type: 'string' }
]});

 

Nach einem Tag bin ich jetzt schlauer, und falls jemand dies mal findet schreib ich meine Befunde auf.

Man muss im Controller, der in der configure Funktion angegeben ist, eine „Action“-Funktion implementieren, die den Namen myactionAction hat, wobei „myaction“ durch das was bei {url action=„myaction“} steht definiert ist. Von dort aus kann man dann beispielsweise direkt schon queries auf die Datenbank stellen.