Combobox wird angezeigt aber nicht gespeichert?

Hallo zusammen,

mit folgenden Script wird eine Combobox in einem Einkaufswelt-Element hinzugefügt und auch angezeigt :slight_smile:

 

//{namespace name=backend/emotion/view/components/teaser_intersected}
Ext.define('Shopware.apps.Emotion.view.components.TeaserIntersected', {
  extend: 'Shopware.apps.Emotion.view.components.Base',
  alias: 'widget.emotion-components-teaser-intersected',

  createFormElements: function () {
    var me = this,
      items = me.callParent(arguments);

    items.push(me.createHeadlineMarkup());

    return items;
  },

  createHeadlineMarkup: function () {
    var me = this;

    // The data store containing the list of states
    var states = Ext.create('Ext.data.Store', {
      fields: ['value', 'display'],
      data: [{
        value: 'h1',
        display: 'H1'
      }, {
        value: 'h2',
        display: 'H2'
      }]
    });

    return Ext.create('Ext.form.field.ComboBox', {
      name: 'headline_markup',
      fieldLabel: 'Überschrift-Markup',
      labelWidth: '175px',
      valueField: 'value',
			displayField: 'display',
			store: states,
      allowBlank: false
    });
  }
});

 

Leider wird die Combobox aber nicht gespeichert.

Weiß jemand von euch woran das liegen könnte?

 

Vielen Dank und beste Grüße
Michael

Hallo,

 

jedes Store hat auch ein Model. Ein Model legt die Datenstruktur fest und weiß auch, wohin sich der Store speichern soll. Ohne ein Model ist ein Store nur eine blanke Datentabelle. Also ein Store ist im Endeffekt ein mit Daten befülltes Model und wird als solches eigentlich automatisch erstellt, sobald eine Call-To-Action aufgerufen wird (lesen / einfügen / speichern / usw.).

Ich habe auch noch nie eine anonyme Definition eines Stores gesehen. Lege Dir zuerst mal JS Dateien für den Store und für das Model an. Dann musst Du den Store Namen noch im Model bekannt machen & schon funktionierts :wink:

 

 

MFG

 

derwunner

1 „Gefällt mir“