Nachladen von CSS Dateien bei Joomla Webseiten

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.

Joomla 1.0

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

Joomla 1.5

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.

Joomla 2.5 and 3.x series

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';
}
?>

Andere Wege für Joomla 1.6, 1.7, 2.5 und 3.x

CSS für bestemmte Seitenklasse nachladen

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 } ?>
CSS laden bei einer bestimmten Menüpunkt
$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.

CSS Datei für eine bestimmte Komponente laden
if(JRequest::getCmd('option')=='com_k2'){
        $doc->addStyleSheet($pluginAssetsUrl .'/css/aecuserpage.css');}
CSS Datei alle Punkte eine bestimmten Menüs laden
<?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.

CSS bei bestimmter Sprache laden:
$lang =&JFactory::getLanguage();switch($lang){case'en-gb':
$doc->addStyleSheet($pluginAssetsUrl .'/css/aecuserpage.css');break;}
CSS Laden wenn sich ein Benutzer angemeldet hat
$user =&JFactory::getUser();if($user->get('id')==0){//user is logged in
 $doc->addStyleSheet($pluginAssetsUrl .'/css/aecuserpage.css');}
CSS laden beim Aufruf einer bestimmten URL
$u =&JFactory::getURI();if($u=="http://www.example.com/joomla/index.php?task=view&id=12&Itemid=29"){
$doc->addStyleSheet($pluginAssetsUrl .'/css/aecuserpage.css');}
  • Erstellt am .

Unsere Kompetenzen


Alexander´s Webdesign

Mosebergstraße 1
37441, Bad Sachsa

+49-(0)-5523-952 89 98
+49-(0)-160-932 435 66
Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!

Montag - Freitag 09:00 - 18:00 Uhr

Kundenstimmen

So bewerten uns unsere Kunden.

4.8 / 5 Sternen

4.8 / 5 bei 106 Stimmen

Alle Bewertungen


  • Folgen Sie uns

Copyright © 2003 - 2020 Alexander´s Webdesign - Alle Rechte vorbehalten.