0

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

该视图正在使用字段显示设置,包括“内容:标题”和一些自定义字段。当我使用视图 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;
// ...

回显的结果是节点标题,以及其他视图字段的 HTML 包装器,包括标签,但它们的内容是空的,这与视图预览不同。

帮助!

4

1 回答 1

0

你可以直接把它放在 node.tpl.php 模板中:

<?php print views_embed_view('deals_single', 'page_1', $node->nid); ?>
于 2013-03-19T05:35:01.143 回答