Drupal 7:使用当前节点id动态生成页面上的链接?

时间:2012-12-07 12:29:04

标签: drupal drupal-7 drupal-panels

我正在使用Drupal 7中的Page Manager和Panels构建一个artgallery。

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

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

所以我创建了一个视图,它使用timeperiod的nodeid作为上下文过滤器,并获取与该特定timeperiod节点相关的所有图形节点。

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

1 个答案:

答案 0 :(得分: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));

其中第三个参数是参数,即当前(timeperiod)节点的节点id。请参阅http://api.drupal.org/api/views/views.module/function/views_embed_view/7

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