Ich habe eine Reihe von Variablen, die ich auf Zweigvorlagen für bestimmte Inhaltsvorlagen verfügbar machen möchte.
In habe MYTHEME.theme
ich:
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();
}
}
Dies ermöglicht mir die Verwendung von {{ headertext }}
und {{ mycustomblock }}
in Inhaltstypvorlagen wie node--contenttype1.html.twig
und node--contenttype2.html.twig
. Aber ich möchte lieber nicht die Variablen 'headertext'
und 'mycustomblock'
für jeden einzelnen Knotentyp erstellen, wenn ich nur jeden für einen Inhaltstyp benötige. Es wäre schön, einen Schalter oder eine if-Anweisung zu haben, die prüft, um welchen Inhaltstyp es sich handelt, bevor eine Variable mit einem Block generiert wird.
Gibt es eine Möglichkeit, den Inhaltstyp des Knotens zu überprüfen?
ich habe es versucht
$type = $variables['node']->type;
Das hat aber nicht funktioniert.