Drupal页面标题栏

问题描述:

今天我试着在“页面标题”区域添加image_field。Drupal页面标题栏

我不知道这是否可能?

如果这是不可能,有可能在树枝模板添加field_image?

Tnks。

+0

任何事情都是可能的。你能显示你试过的代码吗? –

+0

我刚刚尝试使用这样的树枝:{{node.field_image.title}}(标题来测试),只是在字段 - 节点 - title.html.twig。我不知道这是否是最好的方法来做出这个... Thks的快速响应;) –

+0

我刚刚意识到你正在使用Drupal。我对Drupal不熟悉。也许别人可以提出一些建议? –

以下可能会对您有所帮助。首先即时为page_title添加一个主题建议,以便我可以控制必须骑在模板上的位置。我正在添加node_type - 作为模板的后缀。

然后我加入预处理功能 - 确保你与你想要的“新闻”的结尾应该从第一功能的内容类型代替类型更换签名。

在第二个功能我正在取一个叫字幕领域,并增加值变量,以便它是在模板中可用。

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可用,在我的情况下,它是网页标题 - news.html.twig - 从页面title.html.twig复制并添加相应的变量。

+0

对于需要添加上述功能应该在你的mytheme.theme文件 – allupaku

+0

嗨,我试图用你的功能进行一些修改,以适应我的主题。但是当我尝试使用kint()来查看变量(对于'sub_title')中的变量时,它会显示'NULL' –

+0

您是否尝试在函数本身中为变量值创建函数?您是否正确地从字段中提取值,图像字段值与文本字段的结构不同。在我的情况下,我正在提取文本字段。 – allupaku