특정 콘텐츠 템플릿의 나뭇 가지 템플릿에서 사용할 수 있도록 일련의 변수가 있습니다.
에서 MYTHEME.theme
I 있습니다 :
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();
}
}
이 날 사용할 수 있습니다 {{ headertext }}
와 {{ mycustomblock }}
같은 콘텐츠 형식의 템플릿에 node--contenttype1.html.twig
와 node--contenttype2.html.twig
. 그러나 하나의 콘텐츠 유형마다 하나만 필요할 때 모든 단일 노드 유형에 대해 'headertext'
및 'mycustomblock'
변수를 작성 하지는 않습니다 . 블록이있는 변수를 생성하기 전에 어떤 내용 유형을 확인하는 스위치 또는 if 문을 갖는 것이 좋습니다.
노드의 컨텐츠 유형을 확인할 수있는 방법이 있습니까?
난 노력 했어
$type = $variables['node']->type;
그러나 그것은 효과가 없었습니다.