Config.xml - Reihenfolge der Felder nach Plugin-Update

Guten Abend Community,

ich habe folgendes Problem: Ich arbeite bei meinen Plugins mit der config.xml und definiere dort wie gewohnt alle Konfigurationsfelder für ein Plugin. Jetzt füge ich ein Feld hinzu, aber nicht am Ende sondern hinter einem anderen Feld, ziemlich am Anfang der XML - weil beide Felder thematisch zueinander passen. Jetzt aktualisiere ich das Plugin per Upload (neue Versionsnummer, Updatefunktion im Plugin Manager) und das neue Feld erscheint auch in der Konfiguration, allerdings ganz am Ende.

Jetzt ist die Frage, kann man die Position irgendwie beeinflussen? Entweder bin ich blind und übersehe etwas oder es geht tatsächlich nicht.

Danke!

Deinstallieren --> Installieren, é Voila

Gruß

Hallo,

die Reihenfolge kannst du nur durch eine Neuinstallation des Plugins „beeinflussen“ / an die neue config.xml - Struktur anpassen, da gibt es keine andere valide Lösung (außer eine Datenbank - Rummauschelei). Wobei die Reihenfolge ansich auch egal sein sollte.

Grüße

Sebastian

Das mit der Neuinstallation ist schon klar, das funktioniert natürlich. Ich finde es nicht egal, wo das Feld auftaucht. Ich habe 30 Konfigurationsfelder und einige davon werden aus dem Kontext gerissen, wenn sie einfach unten angehängt werden. Die Definition einer Reihenfolge in der config.xml wäre ja eine Lösung.

 

Hallo,

wie erwähnt ist dies nicht möglich. Die config.xml wird einmal eingelesen und die Werte entsprechend in der Datenbank gespeichert. Gibt es ein neues Feld in der config.xml durch ein Update, kann er ja schlecht alles aus der Datenbank löschen und eine neue Sortierung herstellen. Es ist also auch sinnvoll, das Änderungen durch ein Update ganz hinten angehangen werden.

Man könnte aber wahrscheinlich in der Datenbank-Tabelle s_core_config_elements durch die position - Spalte die Reihenfolge Quick-and-Dirty anpassen, was aber auch nicht unbedingt eine valide Lösung ist.

Grüße

Sebastian

1 Like

Gibt es ein neues Feld in der config.xml durch ein Update, kann er ja schlecht alles aus der Datenbank löschen und eine neue Sortierung herstellen.

Das nicht, aber es gibt ja bereits -wie von dir erwähnt - eine Spalte in der Datenbank names „Position“ (Quelle). Es wäre gut, wenn diese via config.xml einfach für ein Config-Feld gesetzt werden könnte. Daher finde ich, dass es sehr wohl nicht sinnvoll  ist, die Spalten einfach hinten anzuhängen.

@Threadersteller: Andererseits, darf man nicht erwarten, dass das hohe Prio hat. Wenn man es geändert haben möchte, kann man ja einen PR auf Github erstellen oder zumindest ein Ticket im Issue-Tracker. 

Viele Grüße

2 Likes

Vielen Dank für die Antworten. Wenn es ein Feld für die Position gibt, sollte man es tatsächlich setzen können. Ich habe einen Eintrag im Issue Tracker gemacht, wohlwissend das die Prio nicht hoch sein wird.

Ich schaue aber trotzdem mal ob ich die Reihenfolge nicht einfach selber in der DB setze…

Es existiert bereits ein Ticket bei Shopware und ein Merge Request.

Bitte das Ticket voten, dann wird es hoffentlich schneller von Shopware implementiert!