【问题标题】:Drupal 8 get taxonomy value in twigDrupal 8 在树枝中获得分类价值
【发布时间】:2016-06-09 11:57:44
【问题描述】:
我正在开发 Drupal 8,
我有一个内容类型,称为主页,其中包含内容字段和一个实体参考类型的字段,该字段链接到分类项目。
在 page.html.twig 中,我想获取此分类项的值。
我尝试了很多想法,但没有任何效果。
一读比我需要做的这段代码:
{{node.field_home_page_slider_type}}
但它给了我一个白页。我尝试了 kint,我有很多属性,但我没有找到如何获取我的字段的值。
解决办法是什么?
【问题讨论】:
标签:
php
drupal
twig
drupal-8
drupal-taxonomy
【解决方案1】:
如果您还在为 twig 苦苦挣扎,只需在 your_theme.theme 中准备您需要的东西。您可以在
中获取您的节点
function HOOK_preprocess_page(&$variables) {
if (!array_key_exists('node', $variables))
return;
$node = $variables['node'];
// ...
}
您可以在此处准备数据并将其提供给 twig,如下所示:
$variables['foo'] = 'bar';
在 Twig 中你可以这样做:
{{ foo }}
【解决方案2】:
我创建的唯一方法是对页面的节点进行预处理以获取分类字段的内容。
这是我的代码示例
$node = \Drupal::routeMatch()->getParameter('node');
$field = 'title';
$index = 0;
if($node){
$nodeArray = $node->toArray();
if (isset($nodeArray[$field][$index]['value'])) {
$value = $nodeArray[$field][$index]['value'];
}
if(isset($nodeArray['field_home_page_slider_type'])){
$id_slider_type = $nodeArray['field_home_page_slider_type'][0]['target_id'];
}
}