我有一个节点(节点 a),各个其他节点(节点 b/c/d/e)引用该节点。
我可以创建一个带有参数的 View 作为我正在查看的节点(节点 a),并获取引用该节点的节点列表。
基本上在节点 a 上查看节点 b-e 的列表。
我想仅为该节点的节点引用创建一个 View 页面。但是我怎样才能将参数传递到新页面呢?
谢谢。
编辑:对于这个令人困惑的问题,我深表歉意。
基本上我有一个电影节点。我有很多评论引用电影节点。
在电影节点上,我使用参数:content: review_of 来获取该电影的评论列表。
这很棒,但是因为在电影节点上只有几条评论,所以我需要一个页面来查看该电影的所有评论。问题是将电影的参数从 View block (例如,电影的 3 条评论)传递到 View 页面(包含所有评论)。
理想情况下,观看页面的 URL 为:/movies/movie-name/reviews
我已经按照欧文的回答尝试过在关系上进行此操作,但未能成功。
最佳答案
如果我理解您的意思,您想要创建一个 View 页面,允许您查看与父节点关联的节点(通过 CCK 节点引用字段)?
设置 View 后,您只需将 nid(或标题,或您选择作为参数的任何字段)传递给 URL。
因此,假设您的“ View ”页面设置为:http://yourinstall.com/related-nodes
只需将参数传入:http://yourinstall.com/related-nodes/5
以上内容(假设您的关系/参数正确)将显示 NID 5 的所有关联节点。
这是一个image of the views configuration我用过。
您会注意到 View 上的“路径”设置是“movies/%/reviews”。我有两部电影“电影一”和“电影二”,每部电影都有一些评论。然后您可以使用 http://yourinstall.com/movies/movie-one/reviews等等...查看评论的标题。
编辑:好的,问题的澄清是,您有一个 View block ,它显示特定于电影的评论列表。此外,您还希望将“更多...”链接链接到“ View ”页面,该页面显示特定于该电影的所有评论。
这可以通过 View 管理来实现,但确实涉及一些 PHP 代码。
- 您的“ View ”区 block 的设置方式与上述“ View ”页面类似。
- 覆盖您的 View block 参数(审查)节点:标题,然后在“参数不存在时采取的操作”下,选择“提供默认参数”->“PHP 代码”。
您使用的代码是:
if (arg(0) == 'node' && is_numeric(arg(1) ) ) { $node = node_load(arg(1) ); return str_replace(' ', '-', strtolower($node->title) ); }
本质上,Views block 的行为是相同的(需要 Movie 节点标题),但将使用上面的代码尝试从 URL 中提取标题(请注意,这对于路径别名来说效果很好)。 Movie 节点标题也以“movies/[movie-title]/reviews”格式放置到 more 链接中(参见上图),它将按预期链接到 Views 页面。
关于drupal 链接到 View 依赖于参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2079224/