Wie können wir ein dynamisches CSS erstellen? Wegen fehlender Unterstützung einiger Browser verzichten wir auf die Lösung PHP in CSS und erklären hier dynamisches CSS mit einer einfachen JQuery Funktion umzusetzen. In unserem Fall möchten wir den Headerhintergrund für jede Seite wechseln. Selbstverständlich liesse sich auch eine Animation einbinden. JQuery macht es möglich.
Wir stellen uns vor was für vielfältige Möglichkeiten es für ein dynamisches Layout es gibt. Bleiben wir aber bei unser gestellten Aufgabe.
Wir fügen in unser Template ein paar Zeilen mit PHP Anweisungen ein die erstmal den Menutitel in einen Dateinamen umwandelt. So wird z.B aus CSS ändern, css-aendern, da UNIX Server mit Umlauten Probleme machen. Wir ergänzen das Ganze mit .jpg und fertig ist unser Bildname. Jetzt noch ein Bild mit diesem Namen erstellen.
Lesen des Forumsbeitrages Header Tauschen bei Menüwechsel in Template Artifacial Intelligence
<?php
if(!function_exists('page_filename'))
{
include_once(WB_PATH.'/framework/functions.php');
}
$header_image = page_filename(MENU_TITLE).'.jpg';
$header_image = file_exists(WB_PATH.'/templates/'.DEFAULT_TEMPLATE.'/header/'.$header_image)
? TEMPLATE_DIR.'/header/'.$header_image
: TEMPLATE_DIR.'/header/yaml_bg.png';
?>
Diese Anweisung binden wir im Head unseres Template ein. Jetzt erstellen wir noch eine globale Javascript Variable, die wir direkt darunter setzen.
<script language="JavaScript" type="text/javascript"> var header_background = "<?php print $header_image; ?>"; </script>


