ฉันมีชุดของตัวแปรที่ฉันต้องการให้พร้อมใช้งานบนแม่แบบกิ่งไม้สำหรับแม่แบบเนื้อหาที่เฉพาะเจาะจง
ในMYTHEME.theme
ฉันมี:
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'
ตัวแปรสำหรับทุกโหนดประเภทเดียวเมื่อฉันต้องการแต่ละคนสำหรับประเภทเนื้อหาหนึ่ง มันจะเป็นการดีถ้ามีสวิทช์หรือถ้าคำสั่งนั้นตรวจสอบประเภทของเนื้อหาก่อนสร้างตัวแปรด้วยบล็อก
มีวิธีที่ฉันสามารถตรวจสอบชนิดเนื้อหาของโหนดหรือไม่?
ฉันพยายามแล้ว
$type = $variables['node']->type;
แต่นั่นไม่ได้ผล