R4MR4M MemberComments: 2108 Received thanks: 319 Member since: April 2014

Bin eben beim Experiementieren und wollte ein Select in der Plugin config.xml dynmaisch mit den Artikel Attributes füllen. Irgendwie klappt das noch nicht so ganz und ich sehe den Fehler nicht.

<store><![CDATA[Ext.define('YourPrefix.YourName.Form', {
 extend: 'Ext.data.Store',
 fields: [
 { name:'columnName', type: 'string' }, { name:'columnName', type: 'string' }
 ],
 autoLoad: true,
 proxy: {
 type: 'ajax',
 url: window.location.href.substr(0, window.location.href.indexOf('backend')) + 'backend/attributeData/list?table=s_articles_attributes',
 reader: {
  type: 'json',
  root: 'data',
  totalProperty: 'total'
  }
 }
}).create();//new ]]></store>

Ich sehe das die Werte per Ajax korrekt geholt werden, aber die Auswahlbox erzeugt mir nur leere Fehler. Bei YourPrefix der Name vom Plugin und bei YourName der Name vom jeweiligen Feld.

Als Grundlage habe ich diese Seite benutzt:

https://developers.shopware.com/developers-guide/plugin-configuration/#remote-combobox-with-own-store

Warum sehe ich nur leere Felder?

 

Answers

  • ShyimShyim MemberComments: 890 Received thanks: 357 Member since: May 2015

    Du hast zwei mal columnName im Store

  • R4MR4M MemberComments: 2108 Received thanks: 319 Member since: April 2014

    Ja ich weiß, soll auch so sein. Einmal als Value und als angezeigter Wert. Hatte vorher dort ID stehen, aber deswegen ging die Anzeige auch nicht.

  • codiversecodiverse MemberComments: 107 Received thanks: 8 Member since: February 2013

    Falls hier noch eine Antwort gesucht wird bzw. für die Nachwelt:

    Mit diesen Threads konnte ich es lösen:

    https://forum.shopware.com/discussion/56060/wie-eigene-store-model-fuer-plugin-config-xml-laden
    https://forum.shopware.com/discussion/58338/config-xml-element-store-speichert-displayfield-als-valuefield

    So sieht meine Lösung aus:

    <element scope="shop" type="select">
                <name>name_feld</name>
                <label lang="de">Label DE</label>
                <label lang="en">Label EN</label>
                <store><![CDATA[Ext.define('YourPrefix.YourName.Form', {
        extend: 'Ext.data.Store',
        fields: [
            { name:'id', type: 'int' },
            { name:'name', type: 'string' }
        ],
        autoLoad: true,
        pageSize: 25,
        proxy: {
            type: 'ajax',
            url: window.location.href.substr(0, window.location.href.indexOf('backend')) + 'backend/controller/action',
            reader: {
                type: 'json',
                root: 'data',
                totalProperty: 'total'
            }
        }
        }).create();//new ]]>
                </store>
                <options>
                    <valueField>id</valueField>
                    <displayField>lastname</displayField>
                    <isCustomStore>true</isCustomStore>
                </options>
            </element>

    Vor allem der Bereich

    <options>
                    <valueField>id</valueField>
                    <displayField>lastname</displayField>
                    <isCustomStore>true</isCustomStore>
                </options>

    Fehlt meiner Ansicht nach in der Doku (https://developers.shopware.com/developers-guide/plugin-configuration/#remote-combobox-with-own-store) und kann gerne dort ergänzt werden :)

  • ShyimShyim MemberComments: 890 Received thanks: 357 Member since: May 2015

    Hey @codiverse‍,

    es wäre schön wenn du einen Pull Request erstellst. Oben rechts auf der Seite findest du einen Edit Link, ganz einfach über die UI :)

  • codiversecodiverse MemberComments: 107 Received thanks: 8 Member since: February 2013

    Hey @Shyim‍,

    klar, danke für die Info. Habe ich gemacht!

  • shopnoob85shopnoob85 MemberComments: 5 Received thanks: 0 Member since: August 14

    Nun hätte ich ebenfalls eine Frage. Wie und wo in meinem Plugin muss ich den Controller erstellen? Habt Ihr mir hierzu zufälligerweise eine Musterbeispiel.

    Mein Ziel ist das selbe wie der Thread Ersteller, d.h. ich versuche die Produktattribute in einem Select oder Combo-Feld darzustellen. Ggbfs. möchte der Thread Ersteller seinen Code oder Plugin mit mir teilen.

     

Sign In or Register to comment.