Hi
Ich arbeite derzeit am Backend und muss ein eigenes Attribute „md_upload“ in s_order_details_attributes in die Produktliste bekommen.
Ab v5.2 gabs einige Änderungen, die ich aber nicht umgesetzt bekommen habe. Der einzigste Weg war die Verwendung von Ajax, was allerdings den Aufbau der Seite verzögert und vermutlich auch nicht die eleganteste Variante ist.
Die attribute.js sieht wiefolgt aus
//{block name="backend/order/model/position/fields" append}
{ name: 'md_upload', type: 'string', useNull: true },
//{/block}
und die details/position.js
//{block name="backend/order/view/detail/position" append}
Ext.override(Shopware.apps.Order.view.detail.Position, {
getColumns: function() {
var me = this;
var columns = me.callOverridden(arguments);
var md_upload = {};
var response = {};
var column= {
header: 'Druckdaten',
dataIndex:'md_upload',
flex: 3,
asyncron:false, //to get access to variables
renderer: function(value, metadata, record){
Ext.Ajax.request({
url: '{url controller=AttributeData action=loadData}',
params: {
_foreignKey: record.get('id'),
_table: 's_order_details_attributes'
},
success: function(responseData,request) {
response = Ext.JSON.decode(responseData.responseText);
md_upload = Ext.JSON.decode(response.data['__attribute_md_upload']);
var Row='';
---
do something with md_upload
return Row;
}
});
}
};
// console.log(columnMDUPload);
return Ext.Array.insert(columns, , [column]);
}
});
//{/block}
Wie bekomm ich in meinem fall das Feld ausgelesen ?