Quantcast
Channel: Programming - Shopware Community Forum
Viewing all articles
Browse latest Browse all 118

Eigene ExtJS Elemente für Komponenten erstellen

$
0
0
Hallo,
ich versuche ein eigene Einkaufswelt-Komponente über ein Plugin anzulegen. Dafür bin ich nach der Anleitung http://wiki.shopware.de/_detail_1459.html gegangen.
Ein einfaches Plugin funktioniert auch problemlos. Nur stehe ich bei der Erstellung eines ExtJS Elements etwas auf dem Schlauch.

Es wird immer der Fehler
Uncaught TypeError: Cannot call method 'substring' of undefined
ausgeworfen.

Die Bootstrap-Datei hat folgenden Inhalt:
class Shopware_Plugins_Frontend_LobbyImagemenu_Bootstrap extends Shopware_Components_Plugin_Bootstrap {
    public function install()
    {
        $component = $this->createEmotionComponent(array(
            'name' => 'Imagemenu',
            'xtype' => 'emotion-imagemenu',
            'template' => 'imagemenu',
            'cls' => 'imagemenu',
            'description' => 'mein Imagemenu'
        ));

        $component->createTextField(array(
            'name' => 'my_first_text_field',
            'fieldLabel' => 'My first Custom-Field',
            'supportText' => 'A small description for my field.',
            'helpTitle' => 'The help title for my field',
            'helpText' => 'The help text for my field.',
            'defaultValue' => 'Lorem Ipsum dolor sit amet',
            'allowBlank' => true
        ));
        $component->createHiddenField(array(
            'name' => 'test',
            'defaultValue' => false,
            'valueType' => 'json'
        ));
        return true;
    }
}
Dann habe ich die Datei engine/Shopware/Plugins/Local/Frontend/LobbyImagemenu/Views/emotion_components/backend/imagemenu.js mit folgendem Inhalt angelegt:
Ext.define('Shopware.apps.Emotion.view.components.Imagemenu', {
    extend: 'Shopware.apps.Emotion.view.components.Base',
    alias: 'widget.emotion-imagemenu',

    initComponent: function() {
        var me = this;

        me.callParent(arguments);

        me.elementFieldset.add(me.createCustomFields());
    },
    createCustomFields: function() {



    }
});
Kann mir jemand sagen, was ich falsch mache? Und wie kann ich dann die eigenen Custom-Fields anlegen?

Viewing all articles
Browse latest Browse all 118

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>