Drupal 7 views_embed_view node.tpl.php 字段

Posted

技术标签:

【中文标题】Drupal 7 views_embed_view node.tpl.php 字段【英文标题】:Drupal 7 views_embed_view node.tpl.php fields 【发布时间】:2013-02-17 22:00:49 【问题描述】:

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

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

知道这里发生了什么吗?

sites/all/themes/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);

sites/all/themes/XXX/templates/node--deal.php

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

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

救命!

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

以上是关于Drupal 7 views_embed_view node.tpl.php 字段的主要内容,如果未能解决你的问题,请参考以下文章

按分类过滤内容类型的 Drupal 块

如何在 Drupal 的一页上显示 2 个包含 2 种内容类型的表格?

我在 Drupal 的测验模块(Drupal 7,测验版本 7.x-5.2)中看不到反馈

如何从 Drupal 7 向 Drupal 8 贡献一个模块

Drupal 7 - Drupal 角色的有机组管理员

带有 ubercart 的 drupal 6 或 7