Templates konfigurabel

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
Post Reply
frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Templates konfigurabel

Post by frase » 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.

lck
Posts: 2963
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Templates konfigurabel

Post by lck » Thu Oct 19, 2017 6:39 pm

Sehr schön!

Kurz getestet.
Die tplcfg.php müsste man noch etwas erweitern, damit die default.php der Sprachdateien als Standard mit eingebunden wird, ansonsten gibt es beim Anlegen einer Sprache wie z.B. fr Fehlermeldungen.

Code: Select all

include "{$pth['folder']['template']}languages/default.php";
if (file_exists("{$pth['folder']['template']}languages/$sl.php")) {
    include "{$pth['folder']['template']}languages/$sl.php";
} 
Die Template Sprach-Dateien finde ich persönlich sehr nützlich, der praktische Nutzen zeigt sich vor allem in mehrsprachigen Webseiten und einbinden könnte man sie auch direkt in der template.htm.
Ich fürchte die Template-Konfiguration verkompliziert die Sache mehr, als das sie nützt :? Was denken andere darüber?
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

olape
Posts: 2731
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Templates konfigurabel

Post by olape » Thu Oct 19, 2017 7:40 pm

lck wrote:Die Template Sprach-Dateien finde ich persönlich sehr nützlich, der praktische Nutzen zeigt sich vor allem in mehrsprachigen Webseiten und einbinden könnte man sie auch direkt in der template.htm.
Ich finde das auch eine sehr gute Alternative zu den Templatetexten in den XH-languagefiles.
So muss man sich bei Templates keine Gedanken machen, Templatetexte nachpflegen zu müssen.
lck wrote:Ich fürchte die Template-Konfiguration verkompliziert die Sache mehr, als das sie nützt Was denken andere darüber?
Na ja, ja, es verkompliziert die Sache.
Aber, eigentlich nur für die/den Coreentwickler und für die Templateentwickler, die das nutzen möchten.
Allen anderen soll das eigentlich egal sein.
Vorteil wäre eben, dass man innerhalb des Templates einige vorbelegte Änderungsmöglichkeiten hätte, die auch ein unbeleckter User per Häkchen an- oder abwählen könnte.
Sei es nur die Anzahl der Newsboxen, Anzeige Locator, Anzeige Submenü o.ä..
Gruß Olaf, Plugins for CMSimple_XH

Ich habe schon lange den Verdacht, dass so viele so eifrig auf Gender, Trans und Queer machen:
Weil sie für das Fachliche ganz einfach zu doof sind.

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Templates konfigurabel

Post by frase » Fri Oct 20, 2017 1:25 am

Danke für die Rückmeldungen.

Sprachabhängige Texte üder das Template:
Hier dürften die Vorteile auf der Hand liegen. Man kann das Template in verschiedenen Installationen einsetzen - und alles "geht mit".

Konfigurationsoptionen:
Ja, es wird komplizierter für den Template-Entwerfer. Aber auch nur, wenn er will!
Und wenn es über den Core gesteuert wird, muss er nur die config.php und evtl. die metaconfig.php bearbeiten. Das wäre dann nicht mehr so aufwendig.
Vorteil, eben bei umfangreichen Templates: Man könnte ganze Skripte und zusätzliche Stylesheets usw. zuschaltbar machen.

Das alles ist ja eigentlich jetzt schon realisierbar - mit mächtig viel Fummelei und Verwirrungsgefahr beim End-Anwender.
Insgeheim hatte ich gehofft, dass einer der vielen Core-Entwickler anspringt und sich der Sache annimmt. ;-)
Dann gäbe es echte Vorteile für die Nutzer komplizierter Templates.

lck
Posts: 2963
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Templates konfigurabel

Post by lck » Fri Oct 20, 2017 11:48 am

frase wrote:Konfigurationsoptionen:
Ja, es wird komplizierter für den Template-Entwerfer. Aber auch nur, wenn er will!
Ich meinte für den Nutzer des Templates, für uns wird es natürlich etwas augwendiger und ist es ja auch schon.

Die Frage ist, ob eine Template-Konfiguration überhaupt gewünscht wird oder Bedarf besteht. Dazu bräuchten wir halt Rückmeldungen und ja man kann es nutzen oder auch nicht. Andererseits, wenn jemand dann direkt im Template doch was löscht z.B. das Logo, was eigentlich eine Konfig-Option ist, so steht in der Konfigurations-Datei immer noch das Logo als aktiv. Da müsste man noch eine Abfrage einbauen, ob der div-Container überhaupt noch vorhanden ist bzw. existiert.

Christoph hat ja schon geschrieben, dass alle Versuche in diese Richtung irgendwann wieder eingestellt wurden, es war einfach nicht praktikabel. Ich hatte mal ein TemPlug Template von Gert, da konnte man so ziemlich alles im Backend ändern. Das habe ich mir interessehalber natürlich näher angeschaut, aber letztendlich doch dann alles manuell direkt in den Dateien geändert, das ging schneller. Das Problem war auch, dass man überhaupt keine manuellen Änderungen vornehmen durfte, denn somit war die Benutzung von TemPlug nicht mehr möglich.

Grundsätzlich bin ich nicht dagegen, ich wünsche mir nur mehr Rückmeldungen in dieser Sache.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Templates konfigurabel

Post by frase » Fri Oct 20, 2017 12:06 pm

lck wrote:Die Frage ist, ob eine Template-Konfiguration überhaupt gewünscht wird oder Bedarf besteht.
...
Grundsätzlich bin ich nicht dagegen, ich wünsche mir nur mehr Rückmeldungen in dieser Sache.
Ja, da hast du "richtig recht".

Schauen wir mal allein die letzten drei Jahre an. Es hat eine unglaubliche Entwicklung bei den Templates stattgefunden. Schriften, Mobiles (responsive), Grids .. usw. Zwar nicht neu, aber erst jetzt umsetzbar.
Und vermutlich wird das rasant weitergehen.

Falls ich nicht irre, wären wir mit einer Template-Konfiguration über das Backend besser für die Zukunft gewappnet.
Für den End-Anwender würde es einfacher.
Schlecht nur - in Hinsicht auf erwünschte Rückmeldungen - dass man sich alles nur "vorstellen" muss, da es bei XH noch keine entsprechenden Templates gibt.

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Templates konfigurabel

Post by cmb » Fri Oct 20, 2017 2:04 pm

lck wrote:Die Frage ist, ob eine Template-Konfiguration überhaupt gewünscht wird oder Bedarf besteht. Dazu bräuchten wir halt Rückmeldungen und ja man kann es nutzen oder auch nicht. Andererseits, wenn jemand dann direkt im Template doch was löscht z.B. das Logo, was eigentlich eine Konfig-Option ist, so steht in der Konfigurations-Datei immer noch das Logo als aktiv. Da müsste man noch eine Abfrage einbauen, ob der div-Container überhaupt noch vorhanden ist bzw. existiert.
Guter Punkt. Ich denke aber, dass solche Prüfungen nicht wirklich nötig sind – man kann es doch schon dem Endanweder überlassen, dass er eben ein Template so bearbeitet, wie es vorgesehen ist. Letztlich ist es bei Plugins auch nicht viel anders: wenn eine vorhandene Konfigurationsoption im eigentlichen Code entfernt wird, dann bewirkt das Ändern der Option eben nichts.
lck wrote:Christoph hat ja schon geschrieben, dass alle Versuche in diese Richtung irgendwann wieder eingestellt wurden, es war einfach nicht praktikabel.
Na ja, ich hatte damals darauf hingewiesen, dass das Problem gewesen sein kann, dass die Templates über ein zusätzliches Plugin konfiguriert werden mussten. Der Templateautor musste sich also mit den Möglichkeiten, die das Plugin vorgibt, arrangieren. Templug war vielleicht zu eingeschränkt (und auch lizenzrechtlich nicht unbedingt passend), und svastis Stylemanager bot nur CSS-Konfiguration an (und das auf recht spezielle Weise). Vielleicht ist es eben interessanter, wenn der Templatedesigner selbst frei bestimmen kann, was konfigurierbar sein soll, und wie.
frase wrote:Insgeheim hatte ich gehofft, dass einer der vielen Core-Entwickler anspringt und sich der Sache annimmt. ;)
Bin dabei. :)
Christoph M. Becker – Plugins for CMSimple_XH

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Templates konfigurabel

Post by frase » Fri Oct 20, 2017 2:15 pm

cmb wrote:Bin dabei.
;) :x :) :D :lol:

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Templates konfigurabel

Post by cmb » Fri Oct 20, 2017 3:00 pm

Okay, im Branch template-config findet ihr einen ersten Entwurf. Im Prinzip ziemlich genau das, was Frank bereits als Template ausgeliefert hatte, aber eben mit grundlegendem Support vom Core, und bislang ohne den Versuch, die Konfigurations- und Sprachdateien im Backend bearbeiten zu können.

Zum Ausprobieren ggf. als ZIP herunter laden (sind ein paar MB, da das Komplettsystem), das Template fhs-simple-config wählen, und die Konfigurationsdatei (templates/fhs-simple-config/config/config.php) und Sprachdateien (in templates/fhs-simple-config/languages/) manuell bearbeiten.

Wesentliche Änderung gegenüber Franks Variante: $tpl_cf und $tpl_tx sind nun "zwei-dimensional" damit es zu $cf/$tx und $plugin_cf/$plugin_tx passt. Die erste Dimension ist als Kategorie zu interpretieren. Hier stellt sich die Frage, ob in bestimmten Fällen auch einmal mehrere Template-Configs/Sprachen geladen werden müssten; dann müsste man die Arrays wie bei $plugin_cf/$plugin_tx gestalten (die erste Dimension wäre dann der Name des Templates).

Ach ja, bezüglich der zusätzlichen globalen Variablen: ist mir eigentlich ein Graus, aber solange es für $cf/$tx und $plugin_cf/$plugin_tx noch keine bessere Lösung gibt, ist es wenigstens konsistent.
Christoph M. Becker – Plugins for CMSimple_XH

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Templates konfigurabel

Post by frase » Fri Oct 20, 2017 3:23 pm

Tja, einer von den vielen Core-Entwicklern hat's getan.
(Es gibt ja so viele: "c", "m" und "b" ...)

Passt!
So hatte ich mir das gedacht.
Außer, dass man in config.php statt "false" mal wieder "" schreiben muss.
Aber auch das ist ja wieder "konsistent". ;-)

Und jetzt wage ich mich mal weit aus dem Fenster: Sooo schwierig dürfte das gar nicht gewesen sein - oder?

Und nun die Backend-Bearbeitung ... :(
Das wird schwieriger.

Nachtrag:
Wird es eine metaconfig geben?
Für Checkboxen, Auswahlfelder usw.?

Post Reply