Hallo zusammen,
ich stehe momentan vor einem Problem.
Ich habe zwei Tabellen, welche in einer ManyToOne Relation zueinanderstehen.
Einmal Produkte und einmal Artikel. Jedes Produkt kann somit aus mehreren Artikeln zusammengesetzt sein.
Die Produkte lasse ich in einer Liste anzeigen. Die Detailansicht öffnet ein neues Fenster mit den Produktdetails und einer Liste mit den dazugehörigen Artikeln.
Für die Details der Artikel habe ich ein weiteres Fenster angelegt.
In diesem werden aber nun die Produktdaten gezogen und nicht die des Artikels. Auch wenn ich Versuche, in der Artikelliste einen neuen hinzuzufügen, wird statt einem neuen Artikel, ein Produkt erstellt.
Wenn ich einen Artikel in der Datenbank erstelle, kann ich diesen Löschen und über RowEdit auch direkt in der Artikelliste bearbeiten. Bearbeite ich den Artikel über die Detailansicht, werden auch hier nicht die Daten vom Artikel, sondern vom Produkt gezogen.
Daher ist meine Vermutung, dass beim öffnen der Artikeldetails irgendetwas fehlt oder nicht mitgegeben wird.
Sowohl Artikel als auch die Produkte haben ein eigenes model und store
Ordnerstruktur:
-view
-article
-article
-window
-detail
-article
-product
-window
-list
-product
-window
Artikelliste in den Produktdetails view/detail/article
Ext.define('Shopware.apps.Produktion.view.detail.Article', {
extend: 'Shopware.grid.Panel',
alias: 'widget.shopware-product-article-grid',
title: 'Benötigte Artikel',
height: 300,
configure: function() {
return {
detailWindow: 'Shopware.apps.Produktion.view.article.Window',
editColumn: true,
columns: {
articleId: { header: 'Artikelnummer' },
articleName: { header: 'Artikelbezeichnung' },
articleQty: { header: 'Menge' }
},
};
},
createPlugins: function() {
var me = this,
plugins;
me.store.sort('id', 'ASC');
plugins = me.callParent(arguments);
me.rowEditor = Ext.create('Ext.grid.plugin.RowEditing', {
clicksToEdit: 2,
});
plugins.push(me.rowEditor);
return plugins;
},
});
Artikeldetails:
Window view/article/window
Ext.define('Shopware.apps.Produktion.view.article.Window', {
extend: 'Shopware.window.Detail',
alias: 'widget.article-detail-window',
title : 'Artikeldetails',
height: 300,
width: 500,
});
Article /view/article/article
Ext.define('Shopware.apps.Produktion.view.article.Article', {
extend: 'Shopware.model.Container',
alias: 'widget.shopware-article-detail-container',
title: 'Benötigte Artikel',
height: 300,
configure: function() {
return {
fieldSets: [
{
title: '',
fields: {
articleId: { fieldLabel: 'Artikelnummer'},
articleName: { fieldLabel: 'Name' },
articleQty: { fieldLabel: 'Menge' }
}
},
],
};
},
});