Drupal 8预处理页面

时间:2016-11-07 22:11:25

标签: twig drupal-8 preprocessor

我是Drupal 8& amp;的新手。我有一个问题 我需要在主题页page-front.html.twig中显示CCK字段(自定义字段)。

据我所知,在非节点页面中显示节点变量是不可能的,所以我开始做一个预处理钩子。

我的预处理看起来像这样:

mythemename.theme

<?php

function THEME_NAME_preprocess_page(&$vars) {
  if (isset($vars['node'])) {
    $node = $vars['node'];
    if ($node->isset('field_numero_cin') {
      $field_cin = $node->get('field_numero_cin');
      $vars['field_cin'] = $field_image->value();
    }
  }
}    

不幸的是,当我调试(kint)时page-front.html.twig中的变量为NULL

2 个答案:

答案 0 :(得分:0)

哼哼......

  • 您是否正在进入预处理阶段? (在您之前添加调试消息 首先是“if”)
  • 您尝试使用$field_image访问->value()的值。尝试 使用->getValue()->value
  • 愚蠢的问题,但也许值得:你有没有尝试清除缓存?添加预处理功能后需要它。

答案 1 :(得分:0)

您的第二个if语句缺少右括号,您得到一个错误吗?if ($node->isset('field_numero_cin')) { $field_cin = $node->get('field_numero_cin'); $vars['field_cin'] = $field_image->value(); }