पृष्ठ को व्यवस्थापक विषय में ओवरले करने के लिए बाध्य करें (ओवरले मोड)


13

क्या किसी पृष्ठ को व्यवस्थापक थीम में प्रस्तुत करने के लिए बाध्य करने का कोई तरीका है, जैसे पृष्ठ कि उनका पथ 'व्यवस्थापक /' से शुरू होता है?

जवाबों:


4

वहाँ एक contrib मॉड्यूल ThemeKey है

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

व्यक्तिगत रूप से स्टाइल किए गए चैनल फ्रंट-पेज / "स्प्लैश" स्क्रीन को एक तिथि / समय-चयनित क्रिसमस थीम मोबाइल थीम के लिए अलग-अलग ऑटो-डिटेक्ट किए गए मोबाइल उपकरणों के लिए विशेष थीम "सीमित" या "पुरानी" ब्राउज़र सामग्री, उपयोगकर्ता या भूमिका-विशिष्ट विषय अपने वातावरण (उत्पादन, मंचन, परीक्षण, सैंडबॉक्स, ...) को इंगित करते हुए अपने रीडिज़ाइन को लाइव सर्वर पर सुरक्षित रूप से परीक्षण कर रहा है

संबंधित प्रश्न भी यहां देखें


14

आप कस्टम मॉड्यूल बनाकर भी ऐसा कर सकते हैं।

विधि 1

यदि आप Drupal के आंतरिक पथ (उर्फ पथ स्रोत) के आधार पर किसी मौजूदा पृष्ठ को थीम बनाना चाहते हैं, तो इसका उपयोग करें। यह उदाहरण hook_custom_theme का उपयोग करता है ।

<?php
function MYMODULE_custom_theme() {
  // match node/1
  if (arg(0) == 'node' && arg(1) == '1') {
    return variable_get('admin_theme');
  }
}

विधि 2

यदि आप URL पथ (उर्फ पथ उपनाम) के आधार पर किसी मौजूदा पृष्ठ की थीम बनाना चाहते हैं, तो इसका उपयोग करें। इस उदाहरण में भी हुक_custom_theme का उपयोग किया गया है

<?php
function MYMODULE_custom_theme() {
  // get arguments
  $arg = explode('/', substr(request_uri(), strlen(base_path())));
  // match {wildcard}/path 
  // Using strpos as $arg[1] may end up having stuff like so ?order=title&sort=asc
  if (isset($arg[1]) && strpos($arg[1], 'path') !== false && !isset($arg[2])) {
    return variable_get('admin_theme');
  }
}

विधि 3

यदि आप थीम बनाना चाहते हैं और एक पेज बनाना चाहते हैं तो इसका उपयोग करें। यह उदाहरण hook_menu का उपयोग करता है । अधिक जानने के लिए, हुक_मेनू पर एक और महान लेख पर एक नज़र डालें

<?php
function MYMODULE_menu() {
  $items = array();

  // match some/path
  $output['some/path'] = array(
    'title' => t('Page Title'),
    'page callback' => 'MYMODULE_page',
    'theme callback' => 'variable_get',
    'theme arguments' => array('admin_theme'),
  )
}

function MYMODULE_page() {
  return 'Hello world.';
}

7

यदि आप एक मॉड्यूल डेवलपर हैं, तो आप हुक_डमिन_पैथ्स का उपयोग यह परिभाषित करने के लिए कर सकते हैं कि प्रशासन विषय के साथ कौन से पथ प्रस्तुत किए जाने हैं।


4

पृष्ठ को व्यवस्थापक के साथ आरंभ करने का मार्ग दें: 'व्यवस्थापक / मेरा पृष्ठ'


1
क्यों होता है पतन? यह कार्यक्षमता डी 7 कोर में है, यह प्रश्न निर्दिष्ट नहीं करता है कि कौन सा संस्करण है, लेकिन पोस्टर प्रश्न के समय डी 7 जारी किया गया था।
MediaFormat

हाँ, पूरी तरह से भावुक टिप्पणी IMO।
काउंट्ज़रो

2
ऐसा नहीं लगता कि कस्टम पेज 'एडमिन /' से शुरू होते हैं, जरूरी है कि एडमिन थीम को लोड करें।
DrCord

विचारों के लिए एकदम सही और सरलीकृत!
पाटोशी at パ

यह काम नहीं करता।
क्रिस्टिया

1
  1. यह कार्यक्षमता अब D7 कोर में है।

  2. एक मॉड्यूल है जो प्रभावी रूप से UI पर "हुक_एडमिन_पैथ्स" को उजागर करता है: https://drupal.org/project/admin_theme

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