【问题标题】:Drupal 7: Use current node id to dynamically generate link on page?Drupal 7:使用当前节点ID在页面上动态生成链接?
【发布时间】:2012-12-07 12:29:03
【问题描述】:

我正在使用 Drupal 7 中的页面管理器和面板构建一个艺术画廊。

画廊中的一件艺术品是一个节点类型,每一个都与一个时间段相关,这也是一个节点类型。

在查看显示一段时间的页面时,我需要一个链接,将用户带到与该时间段相关的所有艺术作品。

所以我做了一个视图,它使用时间段的 nodeid 作为上下文过滤器,并获取与该特定时间段节点相关的所有艺术品节点。

问题是,当在该时间段的页面上时,如何获取该特定时间段的 nodeid 并动态生成指向当前 nodeid 作为参数传递的页面的链接? (以便通过视图获取正确的艺术作品)。

【问题讨论】:

  • 您尝试将节点 ID 放入哪个模板? Page.tpl.php?
  • 看看Entity Reference 模块,它将正式建立关系并提供开箱即用的引用内容的链接

标签: drupal drupal-7 drupal-panels


【解决方案1】:

您可以在一段自定义代码中使用arg(1) 来获取当前节点ID(但前提是它是您所在的节点)。见http://api.drupal.org/api/drupal/includes%21bootstrap.inc/function/arg/7。例如,您可以轻松地将视图嵌入您选择的模板或主题函数中,如下所示:

views_embed_view('name_of_your_view', 'display_name', arg(1));

其中第三个参数是参数,即当前(时间段)节点的节点 ID。见http://api.drupal.org/api/views/views.module/function/views_embed_view/7

要在该时间段节点上放置一个链接到该页面(由您的视图生成),您可能会将预处理功能与模板结合使用(如果设置则打印)。有无数种可能性,因此您可能需要提供更多信息,在哪里放置链接。但基本上可以通过使用 `arg(1)' 来实现。

【讨论】:

  • 非常感谢,我试试看!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-30
  • 2021-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多