Bestelldetail-Listenerweiterung Shopware 5.2.2 neue Artikelfreitextfelder - Attr wird nicht geladen?

Hallo zusammen! 

ich bekomme seit der neuen Artikelfreitextverwaltung bei einem meiner neuen Plugins plötzlich einen fehler.

Und zwar geht es darum, dass ich s_order_details_attributes ein zusätzliches Feld bi_storage_stock_qty als freitextfeld angelegt habe. (Zuvor war dieses Feld per plugin angelegt worden - ich habe es jetzt aber zusätzlich “Konfiguriert” in dem neuen Manager für Freitextfelder) angelegt habe.

Wenn ich nun die Bestellliste anzeigen lasse, und einen Haken bei einer Bestellung setze, wird mir gar keine Position mehr angezeigt.

 

JS Fehler: Uncaught TypeError: record.getAttributes is not a function

(unten hab ich die Stelle markiert wo der Fehler auftritt)

    /**
     * Creates the grid columns
     *
     * @return [array] grid columns
     */
    getColumns:function () {
        var me = this;

        var columns = [
            {
                header: me.snippets.articleNumber,
                dataIndex: ‘articleNumber’,
                flex:2
            },
            {
                header: me.snippets.articleName,
                dataIndex: ‘articleName’,
                flex:2
            },
            {
                header: me.snippets.quantity,
                dataIndex: ‘quantity’,
                flex:1
            },
            {
                header: me.snippets.price,
                dataIndex: ‘price’,
                flex:1,
                renderer: me.priceColumn
            },
            {
                header: me.snippets.total,
                dataIndex: ‘total’,
                flex:1,
                renderer: me.totalColumn
            },
            {
                header: me.snippets.inStock,
                dataIndex: ‘inStock’,
                flex:1
            },
            {
                header: me.snippets.biStorageStockQty,
                dataIndex: ‘detailAttribute.biStorageStockQty’,
                flex:1,
                renderer: function(value, metaData, record) {
                    alert(value);
                    if (record && record.getAttributes() instanceof Ext.data.Store && record.getAttributes().getCount() > 0) { // <<<< JS Fehler
                        var attr = record.getAttributes().first();
                        return attr.get(‘biStorageStockQty’);
                    } else {
                        return ‘’;
                    }
                }
            },            
            {
                /**
                 * Special column type which provides
                 * clickable icons in each row
                 */
                xtype:‘actioncolumn’,
                width:90,
                items:[
                    {
                        iconCls:‘sprite-minus-circle-frame’,
                        action:‘deletePosition’,
                        tooltip: me.snippets.deletePosition,
                    
                        handler:function (view, rowIndex, colIndex, item) {
                            var store = view.getStore(),
                                record = store.getAt(rowIndex);

                            me.fireEvent(‘deletePosition’, record, store);
                        }
                    },
                    {
                        iconCls:‘sprite-inbox’,
                        action:‘openArticle’,
                        tooltip: me.snippets.openArticle,
                     
                        handler:function (view, rowIndex, colIndex, item) {
                            var store = view.getStore(),
                                record = store.getAt(rowIndex);

                            me.fireEvent(‘openArticle’, record);
                        },
                        getClass: function(value, metadata, record) {
                             if (!record.get(‘articleId’))  {
                                 return ‘x-hidden’;
                             }
                         }
                    }
                ]
            }
        ];

        return columns;
    },

Hat jemand eine Idee weswegen ich mein Attribute nicht mehr bekomme?

Die Erweiterung am Model hat sich nicht verändert und sieht so aus:

//{block name=“backend/order/model/position_attribute/fields” append}
{ name: ‘biStorageStockQty’, type: ‘int’ },
//{/block}

LG, Klara

Hallo,

das liegt daran, das man so seit Shopware Version 5.2.0 nicht mehr auf die Attribute bzw. dessen Store zugreifen kann / darf, siehe: Shopware 5 upgrade guide .

Bitte das nächste Mal auch das Code - Element hier nutzen - das gibt es ja nicht umsonst.

Beste Grüße

Sebastian

1 Like