Prinzipiell sind alle schon gemachten Vorschläge richtig und gut.
Mehrere Templates sind wohl bei zwei bis drei Templates sinnvoll.
Bei acht (8!) Templates würde ich aber doch lieber auf Templatevariablen mit "Morepagedata" zurückgreifen.
Slideshow-Ordner dynamisch pro Seite:
Installiere Morepagedata.
Lege (zum Beispiel) folgende Variable an:
Anzeige: Slideshow Ordner
Variablenname: $slideshowFolder
Typ: input_field
Im Template ersetzt du die folgenden Zeilen (im Original ab Zeile 48):
ORIGINAL:
Code: Select all
if (XH_ADM && !$edit || !XH_ADM):?>
<div class="row-full-width slideshow"><?=slideshow('headerimages');?></div>
<?php endif?>
ERSETZEN MIT:
Code: Select all
if (XH_ADM && !$edit || !XH_ADM):?>
<div class="row-full-width slideshow">
<?php
if(isset($slideshowFolder)) {
echo slideshow($slideshowFolder);
} else {
echo slideshow('headerimages');
}
?>
</div>
<?php endif?>
Damit erreichst du, dass wenn ein anderer Slideshow-Ordner angegeben ist, dieser Ordner verwendet wird.
Falls nicht, wird der Standard-Ordner ("headerimages") verwendet.
Haupt-Template-Farbe dynamisch pro Seite ändern:
Im Template diese Elemente normal festlegen - wie es schon ist (blau im Original). Das ist für Seiten ohne Extra-Angaben nötig.
In Morepagedata folgende Variable anlegen:
Anzeige: Hauptfarbe
Variablenname: $mainColor
Typ: input_field
Im Template fügst du im head-Bereich folgendes ein:
Code: Select all
<head>
...
<?php
if(isset($mainColor)):?>
<style>
hr {border-bottom: 1px solid <?=$mainColor;?>;}
#header {border-bottom: 5px solid <?=$mainColor;?>;}
.secHeader {background: <?=$mainColor;?>;}
#searchform input {background: <?=$mainColor;?>;}
#footer {border-top: 5px solid <?=$mainColor;?>;}
</style>
<?php endif ?>
...
</head>
Damit werden die dynamischen Styles aus dem Head die Styles aus dem Stylesheet pro Seite überschreiben.
Ich habe jetzt für beide Variablen Input-Felder empfohlen.
Bei der Farbe, damit man z.B. auch RGBA-Werte eintragen kann (geht beim Colorpicker nicht).
Bei der Ordnerauswahl könnte man auch eine Option-List mit Vorbelegung für die Ordnernamen verwenden.