我想要一个显示节点列表的页面(我可以使用 Views 模块完成此部分),然后还在列表下方显示单个节点的详细信息。理想情况下,当单击列表中的节点时,详细信息将通过 Ajax 更新,但重新加载页面就可以开始了。
我刚开始接触 Drupal,我可以做的事情的级别数量有点压倒性。例如,这应该是底部带有自定义块的视图页面吗?一个有两个块的页面(一个用于列表,一个用于项目)?如果是这样,他们将如何传达节点 ID?是否已经有一个模块可以为我做到这一点?也许我应该编写自己的模块?等等。如果对 Drupal 有更好的一般理解的人可以指出我正确的方向,我将不胜感激。
编辑: 感谢到目前为止的答案,我认为他们指出我错过了原始问题中的一个重要细节。所以,一些更多的细节:
我希望这个页面有效地成为用户的主页。因此,我的视图仅限于显示他们创建的节点。编辑默认节点页面会给我在用户登录时将用户发送到哪个节点的问题(我猜这可能是可能的),并且还意味着我可能无法查看该节点而不查看该视图?
我一直在尝试另一种方法,即使用一些 PHP 创建包含视图(称为 user_home)的页面节点。我还设置了视图控件为列表中的每个节点创建一个链接,并在该链接中包含节点 ID,例如http://localhost/drupal-6.10/?q=node/13/12(其中 13 是节点我创建的页面的 ID 和 12 是列表中项目的节点 ID)。
<?php
//output the user_home view
print views_embed_view('user_home', $display_id = 'default');
?>
<br/>
<hr/>
<br/>
<?php
$queryparam = $_GET["q"];
// find the second /
$index = strpos($queryparam, '/');
$index = strpos($queryparam, '/', $index + 1);
$displayNodeId = substr($queryparam, $index + 1);
$displayNodeId = (int)$displayNodeId;
if ($displayNodeId > 0)
{
$displayNode = node_load($displayNodeId);
print node_view($displayNode);
}
?>
现在,这可行,但我确信他们是一种更友好/兼容的做事方式(并且查询字符串解析是一个讨厌的黑客)。