今天我尝试在“页面标题”块中添加image_field。
我不知道是否可能?
如果不可能,可以在树枝模板中添加field_image吗?
TNKS。
答案 0 :(得分:2)
以下内容可能会对您有所帮助。首先我为page_title添加一个主题建议,以便我可以控制我必须骑过模板的地方。我正在添加node_type - 作为模板的后缀。
然后我添加了预处理功能 - 确保用你想要的类型替换签名,最后的“news”应该替换为第一个函数中的内容类型。
在第二个函数中,我正在获取一个名为subtitle的字段,并将该值添加到变量中,以便它可以在模板中使用。
function mytheme_theme_suggestions_alter(array &$suggestions, array &$variables, $hook) {
if($hook === 'page_title') {
if($node = \Drupal::routeMatch()->getParameter('node')){
$node_type = $node->getType();
// suggestion must use _ and __ as per convention.
$suggestions[] = 'page_title__'.$node_type;
}
}
}
function mytheme_preprocess_page_title__news(&$variables) {
if ($node = \Drupal::routeMatch()->getParameter('node')) {
try {
if ($node->get('field_subtitle') && !$node->get('field_subtitle')->isEmpty()) {
$variables['sub_title'] =
$node->get('field_subtitle')
->get(0)
->get('value')
->getValue();
}
}catch(Exception $e){
\Drupal::logger('mytheme')->error($e);
}
}
}
现在在模板中,你将在模板文件中提供sub_title,在我的例子中,它是page-title - news.html.twig - 从page-title.html.twig复制并添加了相应的变量。