Templates konfigurabel
Posted: Wed Oct 18, 2017 3:59 pm
https://cmsimpleforum.com/viewtopic.php ... =10#p62584
https://cmsimpleforum.com/viewtopic.php ... cfg#p57698
Angeregt durch diese beiden Threads, habe ich mir mal Gedanken über konfigurable Templates gemacht.
Auch bei CMSimple_XH werden die Templates immer komplexer - und müssen das wohl auch, weil die Ansprüche steigen.
Allerdings benötigt man vielleicht gar nicht alle Optionen, die ein umfangreiches Template so bietet. Bisher musste in solchen Fällen der Nutzer in der Template-Datei manuell Änderungen vornehmen. Nicht immer einfach. Außerdem benötigt man manchmal auch sprachabhängige Variablen, wie z.B. Impressum oder Datenschutz (siehe Ludwigs Post, 1. Link), die nicht so einfach im Template zu lösen sind.
Ich weiß, dass es schon früher (und auch aktuell) Bemühungen gab und gibt, konfigurierbare Templates anzubieten. Und es gab auch diverse Anregungen zu diesem Thema.
Ich habe mir mal Christophs Vorschlag vorgeknöpft (siehe 2. Link) und damit experimentiert.
Dabei ist es möglich, verschiedene Template-Elemente über eine Template-Konfiguration ein- oder auszuschalten.
Ich habe es ein wenig erweitert, um auch sprachabhängige Variablen zu verwalten. Leider reichen meine PHP- und XH-Kenntnisse nicht aus um die möglichen Änderungen auch zu speichern.
Das hatte ich aber auch gar nicht im Sinn
Momentan wird durch das Template eine 'tplcfg.php' geliefert, die dann (je nach Aufruf) Seiten mit Template-Info, Template-Konfiguration und Template-Sprache ausgibt.
Im Admin-Menü taucht ein neuer Menüpunkt "Template" auf, der als Untermenü noch "TPL-Config" und "TPL-Lang" hat.
Im Template-Ordner gibt es zwei neue Unterordner: "tplcfg" und "languages". Darin befinden sich die benötigten Dateien - ähnlich wie bei Plugins.
Meine Vorstellung wäre aber, die gesamte Backend-Geschichte nicht über die 'tplcfg.php' zu regeln, sondern über den Core. Das heißt, XH schaut, ob es zum aktiven Template Konfigurationsmöglichkeiten gibt und erzeugt dann die Links im Admin-Menü oder eben nicht.
Also: Gibt es 'config.php' und 'metaconfig.php' im Template-Ordner, dann gibt es im Template zu- und abschaltbare Optionen.
Gibt es einen Ordner 'languages' mit 'default.php', 'en.php', 'de.php' ... usw. dann gibt es auch Sprach-Optionen.
Da das alles sehr ähnlich wie bei Plugins ist, ist das vielleicht gar nicht so kompliziert zu verwirklichen. Macht den Core nicht wesentlich größer - erweitert aber die Möglichkeiten ungemein.
Wer sich dafür interessiert, kann ja mal folgendes Template ausprobieren.
Nur ab XH 1.7.x und nur eine Studie darüber, wie es ungefähr aussehen und ablaufen könnte.
Es gibt nur ein paar wenige einfache Konfig-Optionen - das könnte aber auch noch viel komplexer werden.
fhs-simple-config.zip
Nachtrag:
Es empfiehlt sich, eine Zweitsprache "en" zum Testen anzulegen.
https://cmsimpleforum.com/viewtopic.php ... cfg#p57698
Angeregt durch diese beiden Threads, habe ich mir mal Gedanken über konfigurable Templates gemacht.
Auch bei CMSimple_XH werden die Templates immer komplexer - und müssen das wohl auch, weil die Ansprüche steigen.
Allerdings benötigt man vielleicht gar nicht alle Optionen, die ein umfangreiches Template so bietet. Bisher musste in solchen Fällen der Nutzer in der Template-Datei manuell Änderungen vornehmen. Nicht immer einfach. Außerdem benötigt man manchmal auch sprachabhängige Variablen, wie z.B. Impressum oder Datenschutz (siehe Ludwigs Post, 1. Link), die nicht so einfach im Template zu lösen sind.
Ich weiß, dass es schon früher (und auch aktuell) Bemühungen gab und gibt, konfigurierbare Templates anzubieten. Und es gab auch diverse Anregungen zu diesem Thema.
Ich habe mir mal Christophs Vorschlag vorgeknöpft (siehe 2. Link) und damit experimentiert.
Dabei ist es möglich, verschiedene Template-Elemente über eine Template-Konfiguration ein- oder auszuschalten.
Ich habe es ein wenig erweitert, um auch sprachabhängige Variablen zu verwalten. Leider reichen meine PHP- und XH-Kenntnisse nicht aus um die möglichen Änderungen auch zu speichern.
Das hatte ich aber auch gar nicht im Sinn
Momentan wird durch das Template eine 'tplcfg.php' geliefert, die dann (je nach Aufruf) Seiten mit Template-Info, Template-Konfiguration und Template-Sprache ausgibt.
Im Admin-Menü taucht ein neuer Menüpunkt "Template" auf, der als Untermenü noch "TPL-Config" und "TPL-Lang" hat.
Im Template-Ordner gibt es zwei neue Unterordner: "tplcfg" und "languages". Darin befinden sich die benötigten Dateien - ähnlich wie bei Plugins.
Meine Vorstellung wäre aber, die gesamte Backend-Geschichte nicht über die 'tplcfg.php' zu regeln, sondern über den Core. Das heißt, XH schaut, ob es zum aktiven Template Konfigurationsmöglichkeiten gibt und erzeugt dann die Links im Admin-Menü oder eben nicht.
Also: Gibt es 'config.php' und 'metaconfig.php' im Template-Ordner, dann gibt es im Template zu- und abschaltbare Optionen.
Gibt es einen Ordner 'languages' mit 'default.php', 'en.php', 'de.php' ... usw. dann gibt es auch Sprach-Optionen.
Da das alles sehr ähnlich wie bei Plugins ist, ist das vielleicht gar nicht so kompliziert zu verwirklichen. Macht den Core nicht wesentlich größer - erweitert aber die Möglichkeiten ungemein.
Wer sich dafür interessiert, kann ja mal folgendes Template ausprobieren.
Nur ab XH 1.7.x und nur eine Studie darüber, wie es ungefähr aussehen und ablaufen könnte.
Es gibt nur ein paar wenige einfache Konfig-Optionen - das könnte aber auch noch viel komplexer werden.
fhs-simple-config.zip
Nachtrag:
Es empfiehlt sich, eine Zweitsprache "en" zum Testen anzulegen.