# Plugin-Konfiguration - Select Store per JavaScript ändern?

**URL:** <https://forum.shopware.com/t/plugin-konfiguration-select-store-per-javascript-andern/32552>\
**Category:** Programmierung\
**Created:** [26. November 2015 um 10:08 UTC](https://forum.shopware.com/t/plugin-konfiguration-select-store-per-javascript-andern/32552 "2015-11-26T10:08:52Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![DenKon26](https://avatars.discourse-cdn.com/v4/letter/d/5e9695/32.png) [@DenKon26](https://forum.shopware.com/u/DenKon26)\
**Post date:** [26. November 2015 um 10:08 UTC](https://forum.shopware.com/t/plugin-konfiguration-select-store-per-javascript-andern/32552/1 "2015-11-26T10:08:52Z")

</div>

Hallo zusammen! Ich habe in meiner Plugin-Konfiguration einen Button der eine JavaScript-Funktion aufruft: ` $form-\>setElement('button', 'myGetSuggestionsButton', array( 'label' =\> ' **Liste der Vorschläge erhalten**', 'scope' =\> Shopware\Models\Config\Element::SCOPE\_SHOP, 'handler' =\> "function(btn) {" . file\_get\_contents(\_\_DIR\_\_ . "/resources/getSuggestions.js") . "}" ) ); ` Ebenso habe ich in meiner Konfiguration ein Select: ` $form-\>setElement('select', 'myCore', array( 'label' =\> 'Core', 'value' =\> 'test', 'store' =\> array( array('test', 'test'), array('shopDB', 'ShopDB') ), 'scope' =\> Shopware\Models\Config\Element::SCOPE\_SHOP, 'description' =\> 'Name des Cores', 'required' =\> true ) ); ` Innerhalb der JavaScript-Funktion hole ich mir nun wie folgt das Select-Feld: `var core = btn.up('panel').down('[elementName=myCore]');` Um z.B. das value zu ändern, gibt es eine Funktion setValue(): `core.setValue('test2');` Diese ändert zwar das value, jedoch bleibt der store unverändert. Wie kann ich nun den Bereich store manuell in der JavaScript-Funktion ändern? Eine Funktion setStore gibt es leider nicht…

---

<div class="post-metadata">

**Author:** ![d.coder](https://avatars.discourse-cdn.com/v4/letter/d/ed8c4c/32.png) [@d.coder](https://forum.shopware.com/u/d.coder)\
**Post date:** [26. November 2015 um 10:49 UTC](https://forum.shopware.com/t/plugin-konfiguration-select-store-per-javascript-andern/32552/2 "2015-11-26T10:49:32Z")

</div>

Wenn core ein combobox xtype ist: `core.bindStore(newStore);`

---

<div class="post-metadata">

**Author:** ![DenKon26](https://avatars.discourse-cdn.com/v4/letter/d/5e9695/32.png) [@DenKon26](https://forum.shopware.com/u/DenKon26)\
**Post date:** [26. November 2015 um 11:43 UTC](https://forum.shopware.com/t/plugin-konfiguration-select-store-per-javascript-andern/32552/3 "2015-11-26T11:43:16Z")

</div>

[quote=“d.coder”]Wenn core ein combobox xtype ist: `core.bindStore(newStore);`[/quote] Super, damit kann der Store geändert werden :thumbup: Gibt es auch eine Funktion, um diesen neuen Store Dauerhaft zu speichern? Wenn ich nämlich das Plugin im Plugin-Manager schließe und dann das Plugin neu aufrufe, habe ich wieder den Standard-Store

---

<div class="post-metadata">

**Author:** ![d.coder](https://avatars.discourse-cdn.com/v4/letter/d/ed8c4c/32.png) [@d.coder](https://forum.shopware.com/u/d.coder)\
**Post date:** [26. November 2015 um 12:32 UTC](https://forum.shopware.com/t/plugin-konfiguration-select-store-per-javascript-andern/32552/4 "2015-11-26T12:32:22Z")

</div>

Eine perfekte Lösung gibt es da nicht. Du könntest den Store in einem Cookie zwischenspeichern: [http://www.objis.com/formationextjs/lib … okies.html](http://www.objis.com/formationextjs/lib/extjs-4.0.0/docs/api/Ext.util.Cookies.html) Wenn der Store nicht nur clientseitig erhalten werden soll, kannst Du auch Ajax Requests verwenden, um die Werte des Stores in einer eigenen DB Tabelle zu speichern: [http://www.objis.com/formationextjs/lib … .Ajax.html](http://www.objis.com/formationextjs/lib/extjs-4.0.0/docs/api/Ext.Ajax.html) Dann brauchst du entsprechend auch einen eigenen Backend Controller mit entsprechenden Actions zum Auslesen/Speichern.

---

<div class="post-metadata">

**Author:** ![DenKon26](https://avatars.discourse-cdn.com/v4/letter/d/5e9695/32.png) [@DenKon26](https://forum.shopware.com/u/DenKon26)\
**Post date:** [26. November 2015 um 13:52 UTC](https://forum.shopware.com/t/plugin-konfiguration-select-store-per-javascript-andern/32552/5 "2015-11-26T13:52:20Z")

</div>

Okay dann lass ich das einfach weg. Ist auch nicht so wichtig. Wenn ich nun aber mehrfach die Funktion ausführe dann bekomme ich bereits beim zweiten Mal eine Fehlermeldung in der Konsole…es gibt irgendwie Probleme mit der bindStore-Funktion: ` Uncaught TypeError: Cannot read property 'indexOf' of null Ext.define.indexOf @ ext-all.js:21 Ext.define.syncSelection @ ext-all.js:21 Ext.define.onListRefresh @ ext-all.js:21 Ext.util.Event.Ext.extend.fire @ ext-all.js:21 Ext.define.continueFireEvent @ ext-all.js:21 Ext.define.fireEvent @ ext-all.js:21 Ext.override.fireEvent @ ext-all.js:21 Ext.define.refresh @ ext-all.js:21 b.implement.callParent @ ext-all.js:21 Ext.define.refresh @ ext-all.js:21 b.implement.callParent @ ext-all.js:21 Ext.define.refresh @ ext-all.js:21 Ext.define.doFirstRefresh @ ext-all.js:21 Ext.define.bindStore @ ext-all.js:21 b.implement.callParent @ ext-all.js:21 Ext.define.bindStore @ ext-all.js:21 Ext.define.onBindStore @ ext-all.js:21 Ext.define.bindStore @ ext-all.js:21 (anonymous function) @ VM16013:65 j @ jquery.js:3099 k.fireWith @ jquery.js:3211 x @ jquery.js:8264 n.prop.on.c @ jquery.js:8694 n.event.dispatch @ jquery.js:4435 r.handle @ jquery.js:4121 ` hast du eine Idee?

---

<div class="post-metadata">

**Author:** ![d.coder](https://avatars.discourse-cdn.com/v4/letter/d/ed8c4c/32.png) [@d.coder](https://forum.shopware.com/u/d.coder)\
**Post date:** [26. November 2015 um 16:40 UTC](https://forum.shopware.com/t/plugin-konfiguration-select-store-per-javascript-andern/32552/6 "2015-11-26T16:40:00Z")

</div>

Dann versuch es mal so: `core.clearValue(); core.bindStore(null); core.bindStore(newStore, true);`

---

<div class="post-metadata">

**Author:** ![DenKon26](https://avatars.discourse-cdn.com/v4/letter/d/5e9695/32.png) [@DenKon26](https://forum.shopware.com/u/DenKon26)\
**Post date:** [2. Dezember 2015 um 10:11 UTC](https://forum.shopware.com/t/plugin-konfiguration-select-store-per-javascript-andern/32552/7 "2015-12-02T10:11:43Z")

</div>

[quote=“d.coder”]Dann versuch es mal so: `core.clearValue(); core.bindStore(null); core.bindStore(newStore, true);`[/quote] Ich bedanke mich! Auch diese Lösung funktioniert wie gewünscht.
