我有一个节点(节点a),其他各个节点(节点b / c / d / e)引用该节点。
我可以使用参数创建一个视图作为我正在查看的节点(节点a),并获取引用该节点的节点列表。
基本上在节点a上查看节点b-e的列表。
我想为该节点的节点引用创建一个视图页面。但是如何将参数传递给新页面呢?
感谢。
编辑:我为这个令人困惑的问题道歉。基本上我有一个电影节点。我有许多引用电影节点的评论。
在电影节点上,我使用参数:content:review_of来获取该电影的评论列表。
这很棒,但因为在电影节点上只有一些评论,我需要一个页面,我可以看到该电影的所有评论。问题是将视频块中的电影参数(例如,电影的3条评论)传递给视图页面(包含所有评论)。
理想情况下,观看页面的网址为:/ movies / movie-name / reviews
我在欧文的回答中试过这种关系,但却无法做到这一点。
答案 0 :(得分:3)
如果我理解你在说什么,你想要创建一个视图页面,它允许你查看与父节点相关的节点(通过CCK节点参考字段)?
设置View后,您只需将nid(或标题,或您选择的任何字段作为参数)传递给URL。
因此,假设您在http://yourinstall.com/related-nodes
处设置了视图页面只需传递参数:http://yourinstall.com/related-nodes/5
以上(假设您的关系/参数正确)将显示所有NID 5的相关节点。
这是我用过的image of the views configuration。
您会注意到视图中的“路径”设置是“电影/%/评论”。我有两部电影“电影一”和“电影二”,每部电影都有一些评论。然后,您可以使用http://yourinstall.com/movies/movie-one/reviews等来查看评论的标题。
编辑:好的,所以问题的澄清是,你有一个视图块,它显示特定于电影的评论列表。同样,您希望链接到“视图”页面的“更多...”链接显示该电影特有的所有评论。
这可以通过Views admin来实现,但确实涉及一些PHP代码。
您使用的代码是:
if (arg(0) == 'node' && is_numeric(arg(1) ) ) {
$node = node_load(arg(1) );
return str_replace(' ', '-', strtolower($node->title) );
}
本质上,Views块的行为相同(需要一个Movie节点标题),但是会使用上面的代码尝试从URL中提取标题(注意这适用于路径别名)。电影节点标题也以“movies / [movie-title] / reviews”格式放入更多链接(见上图),这将按预期链接到“视图”页面。
答案 1 :(得分:0)
我能正确理解这个问题吗?
真正的问题是该块中的“更多”链接没有链接到正确的视图?
换句话说,如果您的视图是“movie_reviews”,并且您在电影节点页面上添加了:movie_reviews->块,则在此movie_reviews->块中,“更多”链接会将访问者引导至电影/ all / reviews?
您是否考虑过模仿这些变化? (操纵块内的链接以使用当前正在查看的电影节点的节点。) 块很容易主题。
如果我对您的网站有意义,我可以提供有关如何实施此类内容的参考资料。