Hi Michael,
danke für deine Antwort, hat mir sehr weiter geholfen!
Allerdings habe ich noch ein Problem mit Textareas festgestellt. Hier hat das Übersetzungsfenster dann zwei Textareas. Eine ausgegraute und eine, welche ich nochmal übersetzen könnte. Ich kann zwar ganz normal Übersetzungen speichern, anschließend verschwindet aber die Textarea im eigentlichen Pluginfenster.
Ist das auch ein Fehler in den Komponenten oder liegt das an meinem Code? Falls das ein Shopwarefehler ist, weißt du da auch einen Workaround?
EDIT: es lag an der Zeile “id: ‘reviewContent’,”. Man darf einem Feld, das übersetzt werden soll, scheinbar keine ID zuweisen.
//{namespace name="backend/ExpertReviews"}
//{block name="backend/expert_reviews/view/detail/reviews_container"}
Ext.define('Shopware.apps.ExpertReviews.view.detail.ReviewsContainer', {
extend: 'Shopware.model.Container',
alias: 'widget.detail-reviews-container',
padding: 20,
title: 'Reviews',
/**
* init translation
*/
initComponent: function () {
var me = this;
if (me.plugins === undefined) {
me.plugins = [];
}
me.plugins.push(
{
ptype: 'translation',
pluginId: 'translation',
translationType: 'swf_expert_reviews_review' // Ein eindeutiger Name
}
);
me.callParent(arguments);
},
/**
* workaround for shopware bug
*/
getForm: function () {
return this;
},
/**
* workaround for shopware bug
*/
getRecord: function () {
return this.record;
},
/**
* workaround for shopware bug
*/
getFields: function () {
var me = this;
return {
items: [
me.down('[name=content]'),
me.down('[name=linkText]')
]
};
},
configure: function () {
return {
controller: 'Reviews', // php controller
fieldSets: [
{
title: 'Review bearbeiten',
id: "reviewDetailForm",
fields: {
articleID: {
fieldLabel: 'Artikel',
xtype: 'articlesearchfield'
},
expertID: {
fieldLabel: 'ExpertenID',
id: 'ExpertenID',
hidden: true
},
content: {
id: 'reviewContent',
fieldLabel: 'Meinung',
xtype: 'textarea',
height: 90,
grow: true,
allowBlank: false,
translatable: true,
translationName: 'content'
},
rating: {
fieldLabel: 'Rating',
maxValue: 5
},
teaser: {
fieldLabel: 'Teaser'
},
teaserImage: {
fieldLabel: 'TeaserImage',
xtype: 'base-element-media'
},
linkText: {
fieldLabel: 'Linktext',
translatable: true,
translationName: 'linkText'
}
},
layout: 'fit'
}
]
};
}
});
//{/block}