Darum geht es ja. Das Sprachmenü so erhalten, wie es jetzt ist. Dafür aber die Möglichkeit schaffen, ohne Änderungen im Template auch alternative Sprachmenüs einzubinden.
Ich bin dabei von deinem Vorschlag ausgegangen, Ludwigs Entwurf in LangMan zu übernehmen.
Oder natürlich Christophs Polyglot.
Grundsätzlich kann man dem Admin alles zumuten, klar.cmb wrote: ↑Sun Apr 24, 2022 5:49 pmJa, kann man so machen, aber ist es das wirklich wert? Beim Editor wird das ja genutzt, aber einen alternativen Dateimanager gibt es leider nicht. Und gerade mehrsprachige CMSimple_XH Sites sollte es doch nicht so viele geben, als dass man es dem Admin nicht "zumuten" kann, im Template den Aufruf von languagemenu() zu ersetzen (wenn er das überhaupt möchte).
Aber wir sind uns ja seit einiger Zeit einig, hoffe ich jedenfalls, dass Komfort auch eine wesentliche Rolle spielt.
Min. ein alternatives Menü haben wir aktuell, alleine das lässt mich denken: Ja, das ist es wert.
Übrigens könnte man dann analog auch fragen: warum und ob wir konfigurierbare Templates brauchen.
Und noch schöner fände ich, wenn es in der Config kein Textfeld wäre, sondern ein DropDown und die Plugins die Liste dazu (enum:…) allein erweitern würden. Man bräuchte also eine Art Registrierungsfunktion.
Ganz profan würde es wohl reichen eine Variable (Array) zu setzen die das Plugin entsprechend erweitert und eine Funktion, die dann aus dem Array ein enum:… macht.
Also XH setzt i.e. $langMenuArray = array;
Und Polyglot würde dann $langMenuArray[Polyglot] = polyglot_languagemenu; oder fiktiv für LangMan, $langMenuArray[LangMan] = langman_languagemenu; setzen.
Und jetzt aus den Keys ein enum für die Konfig und die Values, damit auch bekannt ist, was nachher aufgerufen werden muss.
Abwärtskompatibel wäre das auch hin wie her, also eigentlich kein Problem.
Eigentlich könnte ich mir vorstellen, das für alle Templatefunktionen so zu gestalten.
Ob das in jedem Fall und aktuell immer Sinn macht :?:
Aber es täte auch keinem weh. Diese Config-Optionen dazu könnte man auch in den ausgeblendeten Bereich verschieben.