Drupal 7 views_embed_view node.tpl.php字段

时间:2013-02-17 22:00:49

标签: drupal drupal-7 drupal-views drupal-fields drupal-templates

使用Drupal 7和Views 3,我试图在hook_preprocess_node中使用上下文过滤器参数调用views_embed_view,以嵌入到节点模板中。

视图使用字段显示设置,包括“内容:标题”和一些自定义字段。当我使用Views UI中的上下文过滤器参数预览视图时,一切都按预期工作,但是当我嵌入视图时,没有加载Fields API中的节点字段(只加载标题和节点ID等内置属性) )。

知道这里发生了什么吗?

网站/所有/主题/ XXX / template.php文件

function XXX_preprocess_node(&$vars, $hook) {
  $node = $vars['node'];
  $vars['views__deals__single'] = views_embed_view('deals_single', 'page_1', $node->nid);
}

网站/所有/主题/ XXX /模板/节点 - deal.php

// ...
echo 'THE VIEW SHOULD BE HERE:';
echo $views__deals__single;
// ...

echo的结果是节点标题,其他视图字段的HTML包装器包括标签但其内容为空,与视图预览不同。

帮助!

1 个答案:

答案 0 :(得分:0)

您可以直接将它放在node.tpl.php模板中:

<?php print views_embed_view('deals_single', 'page_1', $node->nid); ?>