मेरे पास चर की एक श्रृंखला है जिसे मैं विशिष्ट सामग्री टेम्पलेट्स के लिए टहनी टेम्पलेट्स पर उपलब्ध कराना चाहता हूं।
में MYTHEME.theme
मेरे पास है:
function MYTHEME_preprocess_node(&$variables) {
if (isset($variables['node'])) {
$mycustomblock = \Drupal::service('plugin.manager.block')
->createInstance('myblock', []);
$variables['mycustomblock'] = $mycustomblock->build();
$headertext = \Drupal::service('plugin.manager.block')
->createInstance('headertext',
[
'text-align-submit' => 'right',
'uppercase-submit' => TRUE,
'header_size' => 'h4',
'header-size-submit' => 'h4',
'grid-size-submit' => 6,
'header-title' => 'This is a test',
]
);
$variables['headertext'] = $headertext->build();
}
}
यह मुझे उपयोग करने की अनुमति देता है {{ headertext }}
और {{ mycustomblock }}
सामग्री प्रकार टेम्पलेट में node--contenttype1.html.twig
और जैसे node--contenttype2.html.twig
। लेकिन मैं नहीं बल्कि प्रत्येक एकल नोड प्रकार के लिए चर 'headertext'
और 'mycustomblock'
चर का निर्माण करता हूं, जब मुझे केवल एक सामग्री प्रकार के लिए प्रत्येक की आवश्यकता होती है। एक स्विच होना अच्छा होगा या यदि स्टेटमेंट यह जाँचता है कि ब्लॉक के साथ वैरिएबल जेनरेट करने से पहले वह किस प्रकार का कंटेंट टाइप करता है।
क्या कोई ऐसा तरीका है जिससे मैं नोड के सामग्री प्रकार की जांच कर सकता हूं?
मैंने कोशिश की
$type = $variables['node']->type;
लेकिन वह काम नहीं आया।