J'ai une série de variables que je veux rendre disponibles sur des modèles de brindilles pour des modèles de contenu spécifiques.
En MYTHEME.theme
j'ai:
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();
}
}
Cela me permet d'utiliser {{ headertext }}
et {{ mycustomblock }}
dans les modèles de type de contenu comme node--contenttype1.html.twig
et node--contenttype2.html.twig
. Mais je préfère ne pas créer les variables 'headertext'
et 'mycustomblock'
pour chaque type de nœud unique lorsque je n'ai besoin que de chacune pour un type de contenu. Ce serait bien d'avoir un commutateur ou une instruction if qui vérifie de quel type de contenu il s'agit avant de générer une variable avec un bloc.
Existe-t-il un moyen de vérifier le type de contenu du nœud?
J'ai essayé
$type = $variables['node']->type;
Mais ça n'a pas marché.