Yanıtlar:
Belirli bir sayfaya özel CSS kodu eklemenin birkaç yolu vardır. İşte birkaç alternatif:
Alt. 1 - Sayfa sınıfı Sayfa sınıflarını
kullanın. Menü öğesi düzenleyicisinde, "Sayfa görüntüleme" sekmesinin altında "Sayfa sınıfı" adlı bir alan vardır. Bu, şablonunuzun nasıl yapılandırıldığına bağlı olarak <body>
etiketinize (veya <div class="YOURCLASS">...</div>
içeriğinizin çevresine) bir sınıf ekler .
Ardından, belirttiğiniz sınıfı kullanarak şablonunuzun CSS dosyasında yeni bir kural oluşturun.
Örneğin mycustomclass
, menü öğenizdeki "Sayfa sınıfı" alanına ekleyin ve bunu CSS dosyanıza yerleştirin:
.mycustomclass p {font-color:red;} // Make text red on this particular page
Alt. 2 - Özel CSS modülleri
Bu amaçla çeşitli modüller mevcuttur. Bir örnek, herhangi bir CSS kodu eklemenizi ve stil vermek istediğiniz sayfalarda yayınlamanızı sağlayan bir modül olan Özel CSS'dir .
Benzer bir seçenek, sayfalarınıza HTML, JavaScript ve CSS eklemenizi sağlayan Özel HTML Gelişmiş'dir . Kod etikete otomatik olarak eklenebilir .<head>
Alt 3. - ek CSS stil sayfası yükleme
Başka bir alternatif, şablonunuzun index.php
dosyasındaki geçerli menü öğesi kimliğini kontrol etmek ve gerekirse başka bir CSS stil sayfası yüklemektir:
<?php
$currentMenuId = JSite::getMenu()->getActive()->id ;
if ($currentMenuId == "14") {
echo '<link rel="stylesheet" type="text/css" href="mystyle.css">';
}
?>
En sevdiğim yaklaşımlardan biri, vücut öğesi için dinamik sınıflar oluşturmak.
Yani:
<?php
$app = JFactory::getApplication();
$menu = $app->getMenu();
$active = $menu->getActive();
$class = $active->alias . " pageid-" . $active->id;
?>
<body class="<?php echo $class; ?>">
Yukarıdaki kodun ne üreteceğine dair bazı örnekler:
Ana sayfa:
<body class="home pageid-13">
Hakkımızda sayfası:
<body class="about-us pageid-15">
Şimdi yukarıdaki sınıfları kullanarak sayfa başına özel belirli stiller oluşturabilirsiniz.
Bu, aynı şeyi yapmanın başka bir yöntemidir.
Doktrin üstüne çıkıyor:
<?php
$app = JFactory::getApplication();
$menu = $app->getMenu()->getActive();
$pageclass = '';
if (is_object($menu))
$pageclass = $menu->params->get('pageclass_sfx');
?>
Vücut sınıfınızın olduğu dizininize girer:
<body id="<?php echo $pageclass ? htmlspecialchars($pageclass) : 'default'; ?>">
Şimdi, menü öğesinin sayfa sınıfına eklediğiniz her şey gövde kimliğinde görünecektir. Sınıfı olmayan herhangi bir menü öğesi otomatik olarak body id = "default" olur.
Ayrıca menü öğelerinize farklı stil sayfaları atamak için bu uzantıyı deneyebilirsiniz: http://extensions.joomla.org/extensions/extension/style-a-design/templating/css2switch-basic
Saygılarımızla.