Variantenartikel mit Faktor Auf/Abschlag generieren - Plugin

Hallo, ich würde gerne ein Plugin entwickeln (und letzlich allen hier bereitstellen), welches es ermöglicht, die Preise von Varianten je nach Konfiguartion nicht nur mit Preis Auf/Abschlägen zu versehen, sondern z.B. auch mit einem Faktor. Innerhalb der Varianten eines Artikels gibt es hierzu ja bereits den Preis Auf/Abschlags Konfigurator. Hier steht derzeit aber nur in der Spalte “Modus” die Option “Brutto/Netto” zur Verfügung. Ich stelle mir nun also vor, hier eine Option “Faktor” zu ergänzen. Für jeden Faktor kann man da an einer Variante einen Wert definieren. Beim “Varianten generieren” müsste das Plugin dann zudem dafür sorgen, dass bei Artikelkombinationen mit gesetztem Faktor, eben der Artikelpreis mit dem Faktor berechnet wird. Beispiel: Artikel A (Preis 50€) + Aufschlag A für Option A mit Faktor 1.5 ergibt beim Generieren der Variante einen Artikelpreis von 85 € (50%). (u.s.w) Ich denke ich müsste hierzu den Controller: https://github.com/shopware/shopware/bl … iation.php bzw. https://github.com/shopware/shopware/bl … rticle.php und ggf. weitere manipulieren/erweitern sowie das ExtJS Template: https://github.com/shopware/shopware/bl … riation.js In letztgenanntem habe ich die init methode, wie folgt erweitert (append): //{namespace name=backend/article/view/main} //{block name="backend/article/view/variant/configurator/price\_variation" append} Ext.override(Shopware.apps.Article.view.variant.configurator.PriceVariation, { /\*\* \* The initComponent template method is an important initialization step for a Component. \* It is intended to be implemented by each subclass of Ext.Component to provide any needed constructor logic. \* The initComponent method of the class being created is called first, \* with each initComponent method up the hierarchy to Ext.Component being called thereafter. \* This makes it easy to implement and, if needed, override the constructor logic of the Component at any step in the hierarchy. \* The initComponent method must contain a call to callParent in order to ensure that the parent class' initComponent method is also called. \* \* @return void \*/ initComponent: function() { var me = this; me.modeStore = Ext.create('Ext.data.ArrayStore', { fields: ['id', 'name'], data: [[ 0, me.snippets.net], [1, me.snippets.gross], [2, 'Faktor'] ] }); console.log(me.modeStore); me.items = [me.createGrid()]; me.dockedItems = me.createDockedItems(); me.title = me.snippets.title; me.callParent(arguments); } }); //{/block} …allerdings erscheint mein neuer dritter Wert “Faktor” nicht im Backend - scheinbar bin ich hier noch nicht ganz an der richtigen Stelle oder mache beim Erweitern/Überschreiben etwas Falsch… Kann sich das mal bitte jemand ansehen und ggf. Tipps beitragen ? Gerne auch Diskussion wie man das Problem generell lösen könnte - gerne auch alternative Vorschlägen zur Herangehensweise, sollte mein Ansatz falsch sein. Das Endergebnis - Shopware 5 Plugin - würde ich natürlich gerne hier zur Verfügung stellen. - Danke vorab für jegliche Beiträge / Tipps / Ansätze etc.!