logo

एक्स्ट्रा ब्लॉक टाइप्स (EBT) - नया लेआउट बिल्डर अनुभव❗

एक्स्ट्रा ब्लॉक टाइप्स (EBT) - स्टाइलिश, कस्टमाइज़ेबल ब्लॉक टाइप्स: स्लाइडशो, टैब्स, कार्ड्स, एकॉर्डियन्स और कई अन्य। बैकग्राउंड, DOM बॉक्स, जावास्क्रिप्ट प्लगइन्स के लिए बिल्ट-इन सेटिंग्स। आज ही लेआउट बिल्डिंग का भविष्य अनुभव करें।

डेमो EBT मॉड्यूल्स EBT मॉड्यूल्स डाउनलोड करें

❗एक्स्ट्रा पैराग्राफ टाइप्स (EPT) - नया पैराग्राफ्स अनुभव

एक्स्ट्रा पैराग्राफ टाइप्स (EPT) - एनालॉजिकल पैराग्राफ आधारित मॉड्यूल्स का सेट।

डेमो EPT मॉड्यूल्स EPT मॉड्यूल्स डाउनलोड करें

स्क्रॉल

किसी भी टेम्पलेट में ब्लॉक सम्मिलित करना (drupal insert block into template)

11/10/2025, by Ivan

Drupal 8

Twig टेम्पलेट में PHP कोड को सीधे कॉल नहीं किया जा सकता, इसलिए हमें पहले से तैयार ब्लॉक को टेम्पलेट में पास करना होता है। अगर आप किसी नोड टेम्पलेट (node template) में ब्लॉक दिखाना चाहते हैं, तो आप थीम में themename_preprocess_node() फ़ंक्शन का उपयोग कर सकते हैं। यदि आप ब्लॉक को पेज टेम्पलेट में जोड़ना चाहते हैं, तो इसके लिए themename_preprocess_page() का उपयोग करें। इस फ़ंक्शन में वेरिएबल पास करें और फिर Twig टेम्पलेट में उसे प्रदर्शित करें।

एडमिन पैनल के माध्यम से बनाए गए ब्लॉक

$block = \Drupal\block\Entity\Block::load('your_block_id');
$variables['block_output'] = \Drupal::entityTypeManager()
  ->getViewBuilder('block')
  ->view($block);

उदाहरण के लिए, themename_preprocess_node() (नोड टेम्पलेट) में यह कोड इस प्रकार लिखा जा सकता है:

function themename_preprocess_node(&$variables) {
  $block = \Drupal\block\Entity\Block::load('your_block_id');
  $variables['block_output'] = \Drupal::entityTypeManager()
    ->getViewBuilder('block')
    ->view($block);
}

अब node.html.twig टेम्पलेट में आप ब्लॉक को इस तरह दिखा सकते हैं:

{{ block_output }}

प्लगइन के माध्यम से बनाए गए ब्लॉक

ऐसे ब्लॉक भी लगभग उसी तरह दिखाए जा सकते हैं जैसे एडमिन के माध्यम से बनाए गए ब्लॉक, केवल कोड थोड़ा अलग होता है:

$block_manager = \Drupal::service('plugin.manager.block');
// यहाँ आप ब्लॉक के लिए अपनी सेटिंग्स जोड़ सकते हैं।
$config = [];
$plugin_block = $block_manager->createInstance('system_breadcrumb_block', $config);
// कुछ ब्लॉक्स में देखने की अनुमति (access) अलग-अलग हो सकती है।
$access_result = $block_plugin->access(\Drupal::currentUser());
// अगर एक्सेस नहीं है तो खाली ऐरे लौटाएगा।
if ($access_result->isForbidden()) {
  return [];
}
$render = $plugin_block->build();
// यहाँ आप कैश टैग्स या कॉन्टेक्स्ट्स जोड़ सकते हैं।
return $render;

वही कोड बिना टिप्पणियों के:

$block_manager = \Drupal::service('plugin.manager.block');
$config = [];
$plugin_block = $block_manager->createInstance('system_breadcrumb_block', $config);
$access_result = $block_plugin->access(\Drupal::currentUser());
if ($access_result->isForbidden()) {
  return [];
}
$render = $plugin_block->build();
return $render;

Drupal 7

Drupal 7 में यह फ़ंक्शन लगभग वही है, केवल पैरामीटर थोड़े अलग हैं। दो पैरामीटर (block, view) की जगह एक block_view पैरामीटर का उपयोग किया जाता है:

print render(module_invoke('block', 'block_view', '12'));

यदि आप Views ब्लॉक सम्मिलित करना चाहते हैं, तो यह कोड उपयोग करें:

print render(module_invoke('views', 'block_view', 'feedbacks-block'));

Drupal 7 में Views ब्लॉक को इस तरह जोड़ा जाता है — ध्यान दें कि अब पहले ब्लॉक की डेल्टा में संख्या नहीं लिखी जाती, केवल feedbacks-block नाम दिया जाता है।

Drupal 6

यदि आपको किसी भी स्थान पर ब्लॉक सम्मिलित करना है, तो module_invoke() फ़ंक्शन का उपयोग करें:

$block = module_invoke('views', 'block', 'view', 'block_name');
print $block['content'];

उदाहरण के लिए, यदि आप एडमिन के माध्यम से बनाए गए ब्लॉक को जोड़ना चाहते हैं, तो यह कोड उपयोग करें:

$block = module_invoke('block', 'block', 'view', 12);
print $block['content'];

यहाँ 12 ब्लॉक की डेल्टा (ID) है।

अगर आप Views ब्लॉक सम्मिलित कर रहे हैं, तो ऐसा करें:

$block = module_invoke('views', 'block', 'view', 'feedbacks-block_1');
print $block['content'];

यहाँ feedbacks-block_1 ब्लॉक का नाम है, feedbacks — view का नाम है, और block_1 — उस view में डिस्प्ले का नाम है।