Drupal 8在twig中获得分类值

时间:2016-06-09 11:57:45

标签: php drupal twig drupal-8 drupal-taxonomy

我正在研究Drupal 8,
我有一个名为Home page的内容类型,其中包含内容字段和一个类型为Entity Reference的字段,该字段链接到分类项目。
在page.html.twig中,我想获得此分类项的值。

我尝试了很多但没有任何作用。

读取比我需要执行此代码:

{{node.field_home_page_slider_type}}

但它给了我一个白页。我试过kint,我有很多财产,但我没有找到如何获得我的领域的价值。

解决方案是什么?

2 个答案:

答案 0 :(得分:0)

如果您仍在努力研究树枝,请在your_theme.theme中准备好您需要的东西。您可以在

中获取节点
function HOOK_preprocess_page(&$variables) {
  if (!array_key_exists('node', $variables))
    return;
  $node = $variables['node'];
  // ...

}

在这里,您可以准备数据并将其提供给这样的小枝:

$variables['foo'] = 'bar';

在Twig中你可以这样做:

{{ foo }}

答案 1 :(得分:0)

我创建的唯一方法是预处理页面的节点以获取分类法字段的内容。

这是我的代码示例

$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'];
        }
    }