使用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包装器包括标签但其内容为空,与视图预览不同。
帮助!
答案 0 :(得分:0)
您可以直接将它放在node.tpl.php模板中:
<?php print views_embed_view('deals_single', 'page_1', $node->nid); ?>