जवाबों:
वहाँ एक contrib मॉड्यूल ThemeKey है
आपको सरल या परिष्कृत थीम-स्विचिंग नियमों को परिभाषित करने की अनुमति देता है जो वर्तमान पथ, टैक्सोनॉमी शर्तों, भाषा, नोड-प्रकार, और कई, कई अन्य गुणों के आधार पर किसी विषय के स्वचालित चयन की अनुमति देता है। इसे अन्य मॉड्यूल द्वारा उजागर किए गए अतिरिक्त गुणों का समर्थन करने के लिए आसानी से बढ़ाया जा सकता है। Drupal की थीम इनहेरिटेंस और ThemeKey प्रॉपर्टीज़ के संयोजन में आप आसानी से इस तरह की सुविधाएँ प्राप्त कर सकते हैं:
व्यक्तिगत रूप से स्टाइल किए गए चैनल फ्रंट-पेज / "स्प्लैश" स्क्रीन को एक तिथि / समय-चयनित क्रिसमस थीम मोबाइल थीम के लिए अलग-अलग ऑटो-डिटेक्ट किए गए मोबाइल उपकरणों के लिए विशेष थीम "सीमित" या "पुरानी" ब्राउज़र सामग्री, उपयोगकर्ता या भूमिका-विशिष्ट विषय अपने वातावरण (उत्पादन, मंचन, परीक्षण, सैंडबॉक्स, ...) को इंगित करते हुए अपने रीडिज़ाइन को लाइव सर्वर पर सुरक्षित रूप से परीक्षण कर रहा है
संबंधित प्रश्न भी यहां देखें ।
आप कस्टम मॉड्यूल बनाकर भी ऐसा कर सकते हैं।
विधि 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.';
}
यदि आप एक मॉड्यूल डेवलपर हैं, तो आप हुक_डमिन_पैथ्स का उपयोग यह परिभाषित करने के लिए कर सकते हैं कि प्रशासन विषय के साथ कौन से पथ प्रस्तुत किए जाने हैं।
पृष्ठ को व्यवस्थापक के साथ आरंभ करने का मार्ग दें: 'व्यवस्थापक / मेरा पृष्ठ'
यह कार्यक्षमता अब D7 कोर में है।
एक मॉड्यूल है जो प्रभावी रूप से UI पर "हुक_एडमिन_पैथ्स" को उजागर करता है: https://drupal.org/project/admin_theme