मेरे कुछ पृष्ठों पर कस्टम सीएसएस स्टाइल जोड़ना


16

मैं अपने कुछ पेजों में कस्टम सीएसएस स्टाइलिंग जोड़ना चाहूंगा ताकि उन्हें एक अनूठी शैली दी जा सके, और डिफ़ॉल्ट टेम्पलेट स्टाइल को ओवरराइड किया जा सके।

जूमला में मैं इसे कैसे हासिल कर सकता हूं?

जवाबों:


15

एक विशिष्ट पृष्ठ पर कस्टम सीएसएस कोड जोड़ने के कई तरीके हैं। यहां कुछ विकल्प दिए गए हैं:

ऑल्ट। 1 - पृष्ठ वर्ग
उपयोग पृष्ठ कक्षाएं। मेनू आइटम एडिटर में, "पेज डिस्प्ले" टैब के तहत, "पेज क्लास" नामक एक फ़ील्ड है। यह आपके <body>टैग (या <div class="YOURCLASS">...</div>आपकी सामग्री के आसपास) में एक वर्ग जोड़ देगा, यह इस बात पर निर्भर करता है कि आपका टेम्पलेट कैसे कॉन्फ़िगर किया गया है।

यहाँ छवि विवरण दर्ज करें

फिर आपके द्वारा निर्दिष्ट वर्ग का उपयोग करके, अपने टेम्पलेट की CSS फ़ाइल में एक नया नियम बनाएं।

उदाहरण के mycustomclassलिए, अपने मेनू आइटम में "पेज क्लास" फ़ील्ड में जोड़ें , और इसे अपनी सीएसएस फ़ाइल में डालें:

.mycustomclass p {font-color:red;} // Make text red on this particular page

ऑल्ट। 2 - कस्टम सीएसएस मॉड्यूल
इस उद्देश्य के लिए कई मॉड्यूल उपलब्ध हैं। एक उदाहरण कस्टम सीएसएस है , एक मॉड्यूल जो आपको किसी भी सीएसएस कोड को जोड़ने और इसे उन पृष्ठों पर प्रकाशित करने की अनुमति देता है जिन्हें आप शैली करना चाहते हैं।

एक समान विकल्प कस्टम HTML एडवांस्ड है , एक ऐसा मॉड्यूल जो आपको अपने पृष्ठों में HTML, जावास्क्रिप्ट और सीएसएस जोड़ने की सुविधा देता है । कोड को <head>टैग में स्वचालित रूप से जोड़ा जा सकता है ।

Alt 3. - अतिरिक्त सीएसएस स्टाइलशीट लोड करें
एक अन्य विकल्प आपके टेम्पलेट की index.phpफ़ाइल में वर्तमान मेनू आइटम आईडी की जांच करना है , और यदि आवश्यक हो तो एक और सीएसएस शैलियों को लोड करें:

<?php 
   $currentMenuId = JSite::getMenu()->getActive()->id ;
   if ($currentMenuId == "14") {
       echo '<link rel="stylesheet" type="text/css" href="mystyle.css">';
   }
?>

मैं पहले विकल्प (पेज क्लास के साथ) का उपयोग करता हूं लेकिन क्या आप संपादक में इन शैलियों को लागू करने के तरीके से अवगत हैं? उदाहरण के लिए शीर्षकों के पास उसी श्रेणी का फ़ॉन्ट नहीं है, जिस श्रेणी के वे हैं, मैं उस संपादक के अंदर के फ़ॉन्ट को कैसे लागू कर सकता हूं, जिस पृष्ठ पर वे प्रदर्शित होते हैं?
वेब-टिकी

9

मेरा पसंदीदा दृष्टिकोण शरीर तत्व के लिए गतिशील कक्षाएं बनाना है।

इसलिए:

<?php
  $app    = JFactory::getApplication();
  $menu   = $app->getMenu();
  $active = $menu->getActive();
  $class  = $active->alias . " pageid-" . $active->id;
?>
<body class="<?php echo $class; ?>">

उपरोक्त कोड क्या होगा के कुछ उदाहरण हैं:

मुख पृष्ठ:

<body class="home pageid-13">

हमारे बारे में पृष्ठ:

<body class="about-us pageid-15">

अब आप उपरोक्त कक्षाओं का उपयोग करके प्रति पृष्ठ पर विशिष्ट विशिष्ट शैलियाँ बना सकते हैं।


मुझे यह समाधान पसंद है, यह बहुत उपयोगी है, और इसे लागू करना आसान है। +1
जोहनपॉव

4

यही काम करने का एक और तरीका है।

सिद्धांत के ऊपर जाता है:

<?php
  $app = JFactory::getApplication();
  $menu = $app->getMenu()->getActive();
  $pageclass = '';

  if (is_object($menu))
    $pageclass = $menu->params->get('pageclass_sfx');
?>

आपके अनुक्रमणिका में जाता है जहां आपका शरीर वर्ग है:

<body id="<?php echo $pageclass ? htmlspecialchars($pageclass) : 'default'; ?>">

अब, आप मेनू आइटम के पेज क्लास में जो कुछ भी जोड़ते हैं वह बॉडी आईडी में दिखाई देगा। एक वर्ग के बिना कोई भी मेनू आइटम स्वचालित रूप से बॉडी आईडी = "डिफ़ॉल्ट" होगा।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.