Eu tenho uma série de variáveis que quero disponibilizar em modelos de galho para modelos de conteúdo específicos.
Em MYTHEME.themeeu tenho:
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();
}
}
Isso me permite usar {{ headertext }}e {{ mycustomblock }}em modelos de tipo de conteúdo como node--contenttype1.html.twige node--contenttype2.html.twig. Mas prefiro não criar as variáveis 'headertext'e 'mycustomblock'para cada tipo de nó quando precisar apenas de um para um tipo de conteúdo. Seria bom ter uma opção switch ou if que verifique qual é o tipo de conteúdo antes de gerar uma variável com um bloco.
Existe uma maneira de verificar o tipo de conteúdo do nó?
eu tentei
$type = $variables['node']->type;
Mas isso não funcionou.