Benutzer-Werkzeuge

Webseiten-Werkzeuge


faq:modules:variants

Dies ist eine alte Version des Dokuments!


Modul-/Templatevarianten

Um Modul- bzw. Templatevarianten zu verstehen, gehen wir von folgendem Szenario aus: Das Modul XY soll auf 3 Seiten verwendet werden. Auf den Seiten 1 und 2 soll die Standarddarstellung verwendet werden; für die Seite 3 sind aber optische Anpassungen nötig.

In Website Baker und LEPTON sind nun Umwege nötig: Z.B. kann man für die explizite Seite eine eigene CSS-Datei erstellen und diese mit Hilfe einer entsprechenden Anweisung im Template gezielt nur für diese Seite einbinden. Das funktioniert zwar, aber mit mehreren Einschränkungen:

  • Ändert sich das Template, muss diese Anpassung auch in das neue Template übernommen werden.
  • Ändert sich die ID der Seite, muss das Template angepaßt werden.
  • Es funktioniert nur mit CSS- und/oder JS-Dateien, jedoch nicht mit kompletten Ausgabe-Templates.

BlackCat CMS verfügt daher über die Möglichkeit, Varianten zur Verfügung zu stellen. Das gilt für Module ebenso wie für Templates. Das Grundprinzip hierbei ist folgendes:

  • Es existiert eine Standarddarstellung.
  • Auf Basis dieser Standarddarstellung können weitere Varianten abgeleitet werden.
  • Varianten können auch eine komplett andere Darstellung beinhalten.

Templates mit Varianten

Ein Standard-BlackCat-Template hat normalerweise ungefähr folgende Ordnerstruktur:

  ./templates
      /<templatename>
          /index.php
          /info.php
          /css
              /default
                  /frontend.css
                  /backend.css
                  /...
          /templates
              /default
                  /index.tpl
                  /...

Das Verzeichnis default beinhaltet die Standarddarstellung, die immer dann gilt, wenn nichts anderes eingestellt wurde.

Um nun eine Variante zu erstellen, legt man parallel zum Verzeichnis default ein weiteres Verzeichnis an, in dem man alle Templates bzw. CSS-Dateien ablegt, die abweichend von der Standarddarstellung gestaltet werden sollen.

  ./templates
      /<templatename>
          /index.php
          /info.php
          /css
              /default
                  /frontend.css
                  /backend.css
                  /...
              /myvariant
                  /frontend.css
                  /backend.css
                  /...
          /templates
              /default
                  /index.tpl
                  /...
              /myvariant
                  /index.tpl

Die Besonderheit: Fehlt im Verzeichnis myvariant ein Template, wird dieses automatisch aus dem Verzeichnis default genommen. Man muss also wirklich nur diejenigen Dateien kopieren, die auch wirklich angepaßt werden sollen!

faq/modules/variants.1407488248.txt.gz · Zuletzt geändert: 2014/08/08 00:00 (Externe Bearbeitung)