我在drupal视图中使用节点id作为参数。但是,我希望视图的标题显示节点的标题。
例如,我有一个node-id为36且标题为“Hello World”的节点。视图页面url是“example.com/display-node/36”(36是作为参数传递的node-id)。我希望页面标题显示为“Page:Hello World”。我该怎么做?
谢谢!
答案 0 :(得分:4)
只需将%1放入视图标题中,即可获得当前节点的标题
答案 1 :(得分:2)
在Header视图中插入php代码:
$node = menu_get_object();
drupal_set_title('Page: '.$node->title);
答案 2 :(得分:2)
我花了一段时间才弄清楚这个问题的答案之一;所以这里有一个更详细的解释:
<?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);
?>
答案 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。