was ist Best-Practise um Backend-Komponenten wie Einkaufswelten zu erzeugen? In der Basisklasse des Plugins in PHP oder dann via ExtJS?
In PHP gehts offenbar ziemlich einfach, aber leider hat man da für Elemente nicht alle Einstellmöglichkeiten die ExtJS bieten würde.
Ich habe also dann meine Elemente mit ExtJS erzeugt, nur leider werden die eingegebenen Daten dann nicht gespeichert. Verständlich, der Gegenpart fehlt wohl… aber wohin muss dieser?
Wenn du da eigene ExtJS Komponenten verwendest wirst du vermutlich den Emotion Controller hooken müssen und dort eine eigene Verarbeitunglogik zum Speichern aber auch zum Auslesen schreiben müssen. Für die Feldtypen die Shopware einfach per PHP erstellen lässt hat es halt eigene Methoden. Bei fremden Komponenten weiß es halt auch nicht wie es sie verarbeiten soll.
Ich hab eben nochmal reingeschaut. Du müsstest deine Komponenten/Felder in die Tabellen s_library_component und s_library_component_field eintragen. Falls deine Komponenten einfache Textwerte oder JSON enthalten, dürfte das schon ausreichen. Für komplexere Daten schau dir mal die Methode Shopware_Controllers_Backend_Emotion::processDataFieldValue() an. Dort werden die Daten verarbeitet.