Belirli içerik şablonları için twig şablonlarında kullanılabilir hale getirmek istediğim bir dizi değişkenim var.
In MYTHEME.theme
I sahiptir:
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();
}
}
Bu beni kullanmasına izin verir {{ headertext }}
ve {{ mycustomblock }}
benzeri içerik türü şablonları node--contenttype1.html.twig
ve node--contenttype2.html.twig
. Ancak, yalnızca bir içerik türü için her birine ihtiyacım olduğunda her bir düğüm türü için 'headertext'
ve 'mycustomblock'
değişkenlerini oluşturmayı tercih etmem. Bir bloğa sahip bir değişken oluşturmadan önce hangi içerik türünün kontrol edildiğini kontrol eden bir switch veya if ifadesine sahip olmak güzel olurdu.
Düğümün içerik türünü kontrol edebilmemin bir yolu var mı?
denedim
$type = $variables['node']->type;
Ama bu işe yaramadı.