Tengo una serie de variables que quiero poner a disposición en plantillas de ramita para plantillas de contenido específicas.
En MYTHEME.theme
tengo:
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();
}
}
Esto me permite usar {{ headertext }}
y {{ mycustomblock }}
en plantillas de tipo de contenido como node--contenttype1.html.twig
y node--contenttype2.html.twig
. Pero prefiero no crear las variables 'headertext'
y 'mycustomblock'
para cada tipo de nodo cuando solo necesito cada una para un tipo de contenido. Sería bueno tener un modificador o una instrucción if que verifique qué tipo de contenido es antes de generar una variable con un bloque.
¿Hay alguna manera de verificar el tipo de contenido del nodo?
He intentado
$type = $variables['node']->type;
Pero eso no funcionó.