Antworten:
Es gibt verschiedene Möglichkeiten, einer bestimmten Seite benutzerdefinierten CSS-Code hinzuzufügen. Hier sind ein paar Alternativen:
Alt. 1 - Seitenklasse
Verwenden Sie Seitenklassen. Im Menüelement-Editor befindet sich auf der Registerkarte "Seitenanzeige" ein Feld mit der Bezeichnung "Seitenklasse". Dies fügt Ihrem <body>
Tag (oder <div class="YOURCLASS">...</div>
um Ihren Inhalt herum) eine Klasse hinzu , je nachdem, wie Ihre Vorlage konfiguriert ist.
Dann erstellen Sie einfach eine neue Regel in der CSS-Datei Ihrer Vorlage mit der von Ihnen angegebenen Klasse.
ZB mycustomclass
Zum Feld "Seitenklasse" in Ihrem Menüpunkt hinzufügen und dies in Ihre CSS-Datei einfügen:
.mycustomclass p {font-color:red;} // Make text red on this particular page
Alt. 2 - Benutzerdefinierte CSS-Module
Für diesen Zweck stehen mehrere Module zur Verfügung. Ein Beispiel ist Custom CSS , ein Modul, mit dem Sie beliebigen CSS-Code hinzufügen und auf den Seiten veröffentlichen können, die Sie formatieren möchten.
Eine ähnliche Option ist Custom HTML Advanced , ein Modul, mit dem Sie Ihren Seiten HTML, JavaScript und CSS hinzufügen können . Der Code kann dem <head>
Tag automatisch hinzugefügt werden.
Alt 3. - Zusätzliches CSS-Stylesheet laden
Eine andere Alternative besteht darin, die aktuelle Menüelement-ID in der index.php
Datei Ihrer Vorlage zu überprüfen und bei Bedarf ein anderes CSS-Stylesheet zu laden:
<?php
$currentMenuId = JSite::getMenu()->getActive()->id ;
if ($currentMenuId == "14") {
echo '<link rel="stylesheet" type="text/css" href="mystyle.css">';
}
?>
Einer meiner bevorzugten Ansätze ist es, dynamische Klassen für das Körperelement zu erstellen.
So:
<?php
$app = JFactory::getApplication();
$menu = $app->getMenu();
$active = $menu->getActive();
$class = $active->alias . " pageid-" . $active->id;
?>
<body class="<?php echo $class; ?>">
Einige Beispiele dafür, was der obige Code erzeugen wird, sind:
Startseite:
<body class="home pageid-13">
Über uns Seite:
<body class="about-us pageid-15">
Jetzt können Sie mithilfe der oben genannten Klassen benutzerdefinierte Stile pro Seite erstellen.
Dies ist eine andere Methode, um dasselbe zu tun.
Geht über den Doctype hinaus:
<?php
$app = JFactory::getApplication();
$menu = $app->getMenu()->getActive();
$pageclass = '';
if (is_object($menu))
$pageclass = $menu->params->get('pageclass_sfx');
?>
Geht in Ihrem Index, wo Ihre Körperklasse ist:
<body id="<?php echo $pageclass ? htmlspecialchars($pageclass) : 'default'; ?>">
Jetzt wird alles, was Sie zur Seitenklasse des Menüelements hinzufügen, in der Body-ID angezeigt. Jedes Menüelement ohne Klasse erhält automatisch die Body-ID = "Standard".
Sie können mit dieser Erweiterung auch versuchen, Ihren Menüelementen verschiedene Stylesheets zuzuweisen: http://extensions.joomla.org/extensions/extension/style-a-design/templating/css2switch-basic
Grüße.