Hallo,
vorran gestellt erstmal ein großes Lob. Das Shopware Handbuch ist ein super Buch, auch wenn es hier und da kleinere Fehler gibt.
Ich bräuchte als Neuling etwas Hilfe, denn bei dem Kapitel 10 - Backend-Module schreiben, geht für mich nichts vorran.
Beim klicken auf “FAQ” wird nichts angezeigt und das Backend lädt als gebe es kein Morgen mehr. Ich bin mittlerweile etwas verzweifelt und weiß nicht mehr wo ich suchen soll.
Könnte mir hier vielleicht jemand einen Ansatz geben wo ich mit der Fehlersuche beginnen kann.
Aus der Netzwerkanalyse kann ich nur das folgende sehen:
LoremQuestions?file=app&no-cache=1504179423+1+1
Ext.define('Shopware.apps.LoremQuestions', {
extend:'Enlight.app.SubApplication',
name: 'Shopware.apps.LoremQuestions',
loadPath: '/shopware/backend/LoremQuestions/load',
bulkLoad: true,
controllers:['Main'],
views: [
'list.Window',
'list.List',
'detail.Container',
'detail.Window',
'answer.Listing'
],
models: ['Question', 'Answer'],
stores: ['Question'],
launch: function () {
return this.getController('Main').mainWindow;
}
});
Das weitere kommt aus LoremQuestions/load/?f=m/Question|m/Answer|v/list/Window|v/list/List|v/detail/Container|v/detail/Window|v/answer/Listing|store/Question|c/Main&no-cache=1504179423+1+1
Ext.define('Shopware.apps.LoremQuestions.model.Question', {
extend:'Shopware.data.Model',
configure: function () {
return {
controller: 'LoremQuestions',
detail: 'Shopware.apps.LoremQuestions.view.detail.Container'
};
},
fields: [
{ name : 'id', type: 'int', useNull: true },
{ name : 'question', type: 'string', useNull: false },
{ name : 'articleId', type: 'int', useNull: false },
{ name : 'customerId', type: 'int', useNull: false }
],
associations: [{
relation: 'ManyToOne',
field: 'articleId',
type: 'hasMany',
model: 'Shopware.apps.Base.model.Article',
name: 'getArticle',
associationKey: 'article'
}, {
relation: 'ManyToOne',
field: 'customerId',
type: 'hasMany',
model: 'Shopware.apps.Base.model.Customer',
name: 'getCustomer',
associationKey: 'customer'
}, {
relation: 'OneToMany',
type: 'hasMany',
model: 'Shopware.apps.LoremQuestions.model.Answer',
name: 'getAnswer',
associationKey: 'answers'
}]
});
Ext.define('Shopware.apps.LoremQuestions.model.Answer', {
extend:'Shopware.data.Model',
configure: function () {
return {
listing: 'Shopware.apps.LoremQuestions.view.answer.Listing'
};
},
fields: [
{ name : 'id', type: 'int', useNull: true },
{ name : 'answer', type: 'string', useNull: false }
]
});
Ext.define('Shopware.apps.LoremQuestions.view.list.Window', {
extend:'Shopware.window.Listing',
alias: 'widget.lorem-questions-list-window',
title: 'FAQ',
configure: function () {
return {
listingGrid: 'Shopware.apps.LoremQuestions.view.list.List',
listingStore: 'Shopware.apps.LoremQuestions.store.Question'
};
}
});
Ext.define('Shopware.apps.LoremQuestions.view.list.List', {
extend:'Shopware.grid.Panel',
alias: 'widget.lorem-questions-listing-grid',
religion: 'center',
configure: function () {
return {
detailWindow: 'Shopware.apps.LoremQuestions.view.detail.Window'
};
}
});
Ext.define('Shopware.apps.LoremQuestions.view.detail.Container', {
extend:'Shopware.model.Container',
padding: 20,
configure: function () {
return {
controller: 'LoremQuestions',
associations: ['answer'],
fieldSets: [
{
fields: {
question: undefined,
articleId: undefined,
customerId: {
displayField: 'email'
}
}
}
]
};
}
});
Ext.define('Shopware.apps.LoremQuestions.view.detail.Window', {
extend:'Shopware.window.Detail',
alias: 'widget.lorem-questions-detail-window',
title: 'FAQ Detailansicht',
height: 420,
width: 900
});
Ext.define('Shopware.apps.LoremQuestions.answer.Listing', {
extend:'Shopware.grid.Panel',
alias: 'widget.shopware-answer-grid',
title: 'Answers',
height: 300,
configure: function () {
return {
actionColumn: false,
toolbar: false
};
}
});
Ext.define('Shopware.apps.LoremQuestions.store.Question', {
extend:'Shopware.store.Listing',
configure: function () {
return {
controller: 'LoremQuestions'
};
},
model: 'Shopware.apps.LoremQuestions.model.Question'
});
Ext.define('Shopware.apps.LoremQuestions.controller.Main', {
extend:'Enlight.app.Controller',
init: function () {
var me = this;
me.mainWindow = me.getView('list.Window').create({ }).show();
}
});
Vielen lieben Dank
Gruß,
Yarisade