# Neues Editor Feld speichern

**URL:** <https://forum.shopware.com/t/neues-editor-feld-speichern/43090>\
**Category:** Programmierung\
**Created:** [25. Januar 2017 um 08:12 UTC](https://forum.shopware.com/t/neues-editor-feld-speichern/43090 "2017-01-25T08:12:38Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![megadruck](https://avatars.discourse-cdn.com/v4/letter/m/f17d59/32.png) [@megadruck](https://forum.shopware.com/u/megadruck)\
**Post date:** [25. Januar 2017 um 08:12 UTC](https://forum.shopware.com/t/neues-editor-feld-speichern/43090/1 "2017-01-25T08:12:38Z")

</div>

Ich habe im Backend ein seperates Attribute aus s\_order\_detials\_attributes im LIsting als Checkbox dargestellt und möchte natürlich, dass dieses mit gespeichert wird.

![](http://www.megadruck.de/Unbenannt.PNG)

&nbsp;

Kann dies in den Prozess mit eingebunden werden oder muss ich das separat speichern zb.

&nbsp;

```
//{block name="backend/order/view/detail/position" append}
Ext.define('Shopware.apps.Order.view.detail.BackPosition', {
    override: 'Shopware.apps.Order.view.detail.Position',

.....

traceGridEvents: function() {
        var me = this;
        me.rowEditor.on('edit', function (editor, e) {
            if((e.newValues.md_express != e.originalValues.md_express) && e.record.internalId){

                //hier den wert in s_order_details_attributes überschreiben
                console.log('SET md_express to '+e.newValues.md_express+' in table s_order_details_attributes detailID:'+e.record.internalId)
            }

        });

});
//{/block}

```

&nbsp;

Wie speichere ich das ganze elegant ab ohne jetzt AJAX zu verwenden.

---

<div class="post-metadata">

**Author:** ![megadruck](https://avatars.discourse-cdn.com/v4/letter/m/f17d59/32.png) [@megadruck](https://forum.shopware.com/u/megadruck)\
**Post date:** [25. Januar 2017 um 14:57 UTC](https://forum.shopware.com/t/neues-editor-feld-speichern/43090/2 "2017-01-25T14:57:39Z")

</div>

Ich habe das ganze jetzt über den Controller gesteuert

```
//{block name="backend/order/controller/detail"}
//{$smarty.block.parent}
Ext.define('Shopware.apps.Order.controller.BackendDetail', {
    override:'Shopware.apps.Order.controller.Detail',

    onSavePosition: function(editor, e, order, options) {
        var me = this;
        originalCallback = options.callback;
        var customCallback = function(AttributeFields, success) {
            Ext.callback(originalCallback, this, arguments);

            Ext.Ajax.request({
                method: 'POST',
                url: '{url controller=AttributeData action=saveData}',
                params: {
                    _foreignKey:AttributeFields.internalId,
                    _table: 's_order_details_attributes',
                    __attribute_md_express: Number(false)
                        }
            });
        };

        if (!options.callback || options.callback.toString() !== customCallback.toString()) {
        options.callback = customCallback;
        }

        me.callParent([editor, e, order, options]);
    }
});
//{/block}

```

da erhalte ich die meldung

&nbsp;

An exception occurred while executing ‘INSERT INTO s\_order\_details\_attributes (md\_express, detailid) VALUES(?, ?)’ with params [“0”, “1521”]:

Er sollte eigentlich ein UPDATE durchführen und vorallem warum detailid anstelle von detailID
