Benutzer-Werkzeuge

Webseiten-Werkzeuge


faq:modules:variants

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
faq:modules:variants [2014/08/08 11:10]
shadowcat [Modul-/Templatevarianten]
faq:modules:variants [2015/02/16 00:00] (aktuell)
Zeile 92: Zeile 92:
  
 Anmerkung: Natürlich könnte auch einfach eine Liste der Unterverzeichnisse unterhalb von ''​templates''​ angeboten werden, das könnte aber zu '​false-positives'​ führen, wenn man z.B. eine Sicherungskopie eines Templates erstellt hat, die eigentlich nicht für die Nutzung bestimmt ist. Daher werden nur die Varianten angeboten, die als solche konfiguriert sind. Anmerkung: Natürlich könnte auch einfach eine Liste der Unterverzeichnisse unterhalb von ''​templates''​ angeboten werden, das könnte aber zu '​false-positives'​ führen, wenn man z.B. eine Sicherungskopie eines Templates erstellt hat, die eigentlich nicht für die Nutzung bestimmt ist. Daher werden nur die Varianten angeboten, die als solche konfiguriert sind.
 +
 +===== Angepaßtes CSS laden =====
 +
 +BlackCat CMS verfügt über eine einfache Namenskonvention,​ die das automatische Laden der '​richtigen'​ CSS-Datei ermöglicht. Der einfachste Weg ist, die zur Variante gehörende CSS-Datei im Verzeichnis ''​./​templates/<​Templatename>/​css/<​Variante>''​ abzulegen und ''​template.css''​ zu nennen.
 +
 +Sollte eine komplexere Logik notwendig sein, kann dies über die Datei ''​headers.inc.php''​ implementiert werden.
 +
 +Hinweis: Wird für eine Variante kein angepaßtes CSS benötigt, muss auch nicht das entsprechende Verzeichnis angelegt werden.
 +
 +===== Module mit Varianten =====
 +
 +Oben beschriebenes Vorgehen funktioniert grundsätzlich auch für Module. Die Variable in der ''​info.php''​ heißt in diesem Fall ''​$module_variants'':​
 +
 +<sxh php>​$module_variants = array( '​default'​ );</​sxh>​
 +
 +===== Kleiner Trick für dynamische Ermittlung der Varianten =====
 +
 +Die vorhandenen Varianten in der ''​info.php''​ als Liste anzugeben, wird für die meisten Fälle ausreichend sein. Will man es dem Benutzer aber erleichtern,​ eigene Varianten anzulegen, ohne daß er hinterher die ''​info.php''​ anpassen muß (die ja zudem bei einem Update überschrieben wird), kann man statt des "​hartcodierten"​ Arrays folgenden Code benutzen:
 +
 +<sxh php>
 +$module_variants = CAT_Helper_Directory::​getInstance()
 +                   ​->​getDirectories(
 +                       ​CAT_PATH.'/​modules/'​.$module_directory.'/​templates',​
 +                       ​CAT_PATH.'/​modules/'​.$module_directory.'/​templates/'​
 +                   );
 +</​sxh>​
 +
 +<WRAP center round important 60%>
 +Achtung, der Slash am Ende des zweiten Parameters ist wichtig!
 +</​WRAP>​
 +
faq/modules/variants.1407489003.txt.gz · Zuletzt geändert: 2014/08/08 00:00 (Externe Bearbeitung)