1

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

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

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

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

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

4

1 回答 1

4

您可以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)' 来实现。

于 2012-12-07T22:22:40.593 回答