स्क्रॉल
विशिष्ट प्रकार की सामग्री वाले पृष्ठों पर ब्लॉक दिखाना
कभी-कभी हमें ब्लॉक केवल किसी विशेष प्रकार की सामग्री (content type) वाले पृष्ठों पर दिखाने की आवश्यकता होती है। मानक (standard) सेटिंग्स में ब्लॉक की दृश्यता (visibility) केवल पथ (path) या उपयोगकर्ता भूमिकाओं (user roles) के आधार पर निर्धारित की जाती है। निम्नलिखित कोड, जिसे ब्लॉक की दृश्यता सेटिंग्स में PHP मोड चालू होने पर डाला जाता है, आपको यह चुनने की अनुमति देता है कि ब्लॉक किस कंटेंट टाइप के पृष्ठों पर दिखाया जाएगा:
<?php
$match = false;
if (arg(0) == 'node' && is_numeric(arg(1))) {
$nid = arg(1);
$node = node_load(array('nid' => $nid));
$type = $node->type;
if (isset($types[$type])) {
$match = TRUE;
}
}
if (substr($_SERVER["REQUEST_URI"], 0, 6) == '/page/') {
$match = TRUE;
}
if (substr($_SERVER["REQUEST_URI"], 0) == "/node/add/page") {
$match = TRUE;
}
return $match;
?>
उदाहरण के लिए, यह ब्लॉक उन पृष्ठों पर प्रदर्शित होगा जिनका कंटेंट टाइप Page है,
साथ ही उन पृष्ठों पर भी जहाँ नया Page जोड़ा जा रहा है।
यहाँ $types एक ऐरे (array) है जिसमें सामग्री प्रकारों के मशीन नाम (machine names) दिए गए हैं, उदाहरण के लिए:
$types = array('page' => 'page', 'news' => 'news');