Eu tenho uma série de variáveis que quero disponibilizar em modelos de galho para modelos de conteúdo específicos.
Em MYTHEME.theme
eu 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.twig
e 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.