Mam szereg zmiennych, które chcę udostępnić w szablonach gałązek dla określonych szablonów treści.
W MYTHEME.thememam:
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();
}
}
To pozwala mi używać {{ headertext }}i {{ mycustomblock }}w treści szablonów typu jak node--contenttype1.html.twigi node--contenttype2.html.twig. Ale wolę nie budować zmiennych 'headertext'i 'mycustomblock'dla każdego typu węzła, gdy potrzebuję tylko jednego dla jednego typu treści. Byłoby miło mieć przełącznik lub instrukcję, która sprawdza, który typ zawartości jest przed wygenerowaniem zmiennej z blokiem.
Czy istnieje sposób, aby sprawdzić typ zawartości węzła?
próbowałem
$type = $variables['node']->type;
Ale to nie zadziałało.