Drupal 6次观看。如何使视图标题成为节点标识参数的节点标题?

时间:2010-02-25 08:10:34

标签: drupal drupal-views arguments

我在drupal视图中使用节点id作为参数。但是,我希望视图的标题显示节点的标题。

例如,我有一个node-id为36且标题为“Hello World”的节点。视图页面url是“example.com/display-node/36”(36是作为参数传递的node-id)。我希望页面标题显示为“Page:Hello World”。我该怎么做?

谢谢!

6 个答案:

答案 0 :(得分:4)

只需将%1放入视图标题中,即可获得当前节点的标题

答案 1 :(得分:2)

在Header视图中插入php代码:

$node = menu_get_object();
drupal_set_title('Page: '.$node->title);

答案 2 :(得分:2)

我花了一段时间才弄清楚这个问题的答案之一;所以这里有一个更详细的解释:

  1. 您必须启用PHP过滤器模块( admin / build / modules )。
  2. 在您的页面视图( admin / build / views / edit / [您的视图名称] )中,点击基本设置下的标题 < / LI>
  3. 将以下内容放在弹出的文本框中:
    <?php
    $view = views_get_current_view();
    // [0] is first arg, [1] is second etc.
    //My first argument is a Node:Nid argument to get the node id from the url.
    $node = node_load($view->args[0]);
    drupal_set_title('Page: '. $node->title);
    ?>
    
  4. 展开输入格式部分,然后选择 PHP代码
  5. 点击更新,现在标题应正确显示!

答案 3 :(得分:1)

像Nikos Stylianou所说,如果您使用的是“视图”模块,则可以使用%1来获取节点的标题。在你的情况下:

“Page:%1”

会输出

“Page:Hello World”

答案 4 :(得分:0)

我无法将args传递给Title,而是我必须编辑Header并使用Robert Fleming的一些建议来将相关参数解析为h1。不幸的是我无法设置页面标题。

答案 5 :(得分:0)

根据Nikos Stylianou和Tivie的回答,我还要补充一点,您应该使用上下文过滤器从视图的URL中获取节点ID。

在高级下: 上下文过滤器 - &gt;添加 - &gt;内容:Nid - &gt;提供默认值 - &gt;来自网址的内容ID。