Hallo, ich komme mit dem neuen Attributsystem im ExtJS nicht klar und die Dokumentation (Attribute system) hilft mir ebenfalls nicht weiter.
Kurz zu meinem Problem. Ich habe folgenden Code um in der ArtikelDetail Ansicht ein Attribut als Checkbox auszugeben:
//{block name="backend/article/view/detail/base" append}
//{namespace name=backend/test_attribute_plugin/view/main}
Ext.define('Shopware.apps.TestAttributePlugin.view.detail.Base', {
override: 'Shopware.apps.Article.view.detail.Base',
/**
* Creates the both containers for the field set
* to display the form fields in two columns.
*
* @return [Array] Contains the left and right container
*/
createElements:function () {
var me = this;
var result = me.callParent(arguments);
result[1].add(me.createTestCheckbox());
return result;
},
createTestCheckbox: function() {
return {
xtype: 'checkbox',
name: 'attribute[testIsChecked]',
fieldLabel: '{s name=detail/base/test_is_checked_label}Is Checked{/s}',
inputValue: true,
uncheckedValue:false
};
}
});
//{/block}
Mit dieser kleinen Anpassung wurde das Attribut AUTOMATISCH geladen und bei speichern des Produktes auch gespeichert. Nun ist meine Frage wie ich das gleiche Ergebniss mit dem neuen Attributsystem erziele?
Ich habe es wie folgt versucht:
me.attributeForm = Ext.create('Shopware.attribute.Form', {
table: 's_articles_attributes'
});
me.attributeForm.loadAttribute(me.article.get('id'));
Doch „attributeForm“ ist danach undefined UND ich habe zu der Zeit me.article noch nicht, weil die Stores nicht loaded sind.
Da ich nichtmal dies schaffte, konnte ich auch nicht weitermachen und das Attribut ausgeben in der Checkbox.
Ausserdem ist es wohl nun so, dass dieser Code ebenfalls nicht mehr funktioniert:
//{block name="backend/article/model/attribute/fields" append}
{ldelim}name: 'testIsChecked', type: 'boolean', defaultValue: 0 {rdelim},
//{/block}
Weiß hier jemand eine etwas verlässlichere und besser leserliche Anleitung als die von Shopware selbst? Vor allem mehr meinen Fall betreffend?