Hier werden ein paar Wege beschrieben Wie Sie CSS Dateien nachladen können wenn der Besucher beispielsweise eine bestimmte Komponente besucht oder eine bestimmte Seite aufruft.
Nehmen wir einmal an wir wollen auf der Startseite unserer Joomla Webseite einen bestimmten Inhalt nachladen. Dieser Inhalt kann Beispielsweise eine CSS Datei sein und soll ausschließlich auf der Startseite angezeigt werden.
Bei Joomla 1.0 konnte man das oben genannte Beispiel mit Folgendem Quellcode im Template lösen:
<?php if ($option == 'com_frontpage' || $option == '') { echo 'This is the front page'; } ?>
Das "com_frontpage" steht hier beispielhaft für die Komponente Startseite
Bei Joomla 1.5 konnte man das oben genannte Beispiel mit Folgendem Quellcode im Template lösen:
<?php $menu = & JSite::getMenu(); if ($menu->getActive() == $menu->getDefault()) { echo 'This is the front page'; } ?>
Bei dieser Abfrage wird geschaut ob der gewählte (aktive) Menüpunkt als Startseite markiert wurde.
Hier das selbe Beispiel für Joomla 1.6, 1.7 2.5 und 3.x bei einsprachigen Webseiten:
<?php $app = JFactory::getApplication(); $menu = $app->getMenu(); if ($menu->getActive() == $menu->getDefault()) { echo 'This is the front page'; } ?>
Für mehrsprachige Webseiten kann folgender Code verwendet werden, wenn für jede Sprache ein anderer Inhalt geladen werden soll:
<?php $app = JFactory::getApplication(); $menu = $app->getMenu(); if ($menu->getActive() == $menu->getDefault( 'en-GB' )) { echo 'This is the front page'; } elseif ($menu->getActive() == $menu->getDefault( 'fr-FR' )) { echo 'Accueil'; } ?>
Und für alle mehrsprachigen Joomla Webseiten die bei jeder Sprache den seleben Inhalt nachladen wollen gilt folgender Quelltext:
<?php $app = JFactory::getApplication(); $menu = $app->getMenu(); $lang = JFactory::getLanguage(); if ($menu->getActive() == $menu->getDefault($lang->getTag())) { echo 'This is the front page'; } else { echo 'Accueil'; } ?>
Der Folgende Quelltext muss in der index.php des Templates oben geladen werden um die Seitenklasse verwenden zu können.
$pageclass = $params->get( 'pageclass_sfx' );
Folgende Abschnitt muss dann in den <head> Bereich der Webseite kopiert werden.
<?php if ($pageclass=="home") { ?>
<script src="/%3C?php_echo_%24templateUrl%3B_%3F%3E%2Fjquery_reveal_js="></script>
<?php } ?>
$menu =&JSite::getMenu(); $menuItem = $menu->getActive(); $Itemid = $menuItem->id;if($Itemid!=1){ $doc->addStyleSheet($pluginAssetsUrl .'/css/aecuserpage.css');}
Bei "$Itemid!=1" muss die "1" durch die Id des gewünschten Menüpunktes ersetzt werden.
if(JRequest::getCmd('option')=='com_k2'){ $doc->addStyleSheet($pluginAssetsUrl .'/css/aecuserpage.css');}
<?php $menuID =JSite::getMenu()->getActive()->id ;if($menuID =='6'){ $doc->addStyleSheet($pluginAssetsUrl .'/css/aecuserpage.css');}?>
Bei "$menuID == '6'" muss die "6" durch die Id des gewünschten Menüs ersetzt werden.
$lang =&JFactory::getLanguage();switch($lang){case'en-gb': $doc->addStyleSheet($pluginAssetsUrl .'/css/aecuserpage.css');break;}
$user =&JFactory::getUser();if($user->get('id')==0){//user is logged in $doc->addStyleSheet($pluginAssetsUrl .'/css/aecuserpage.css');}
$u =&JFactory::getURI();if($u=="http://www.example.com/joomla/index.php?task=view&id=12&Itemid=29"){ $doc->addStyleSheet($pluginAssetsUrl .'/css/aecuserpage.css');}
Mosebergstraße 1
37441, Bad Sachsa
+49-(0)-5523-952 89 98
+49-(0)-160-932 435 66
Montag - Freitag 09:00 - 18:00 Uhr