drupal 链接到 View 依赖于参数

标签 drupal arguments drupal-views

我有一个节点(节点 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 代码。

  1. 您的“ View ”区 block 的设置方式与上述“ View ”页面类似。
  2. 覆盖您的 View block 参数(审查)节点:标题,然后在“参数不存在时采取的操作”下,选择“提供默认参数”->“PHP 代码”。
  3. 您使用的代码是:

    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/

相关文章:

drupal - 按类别对内容进行分组 - Drupal

php - 如何让 Drupal 的 $base_url 用于 cron 作业?

php - 权限被拒绝时获取 "This webpage has a redirect loop"

linux - Nasm 程序段错误

JavaScript - 创建多个未知参数并将其从字符串传递到函数

php - Drupal 6.x View 如何查询与单个内容相关的多个分类术语?

drupal - 在 Drupal 中翻译外部 API 结果

drupal - 如何修改 Drupal 6 中的图书复制模块,以便在制作副本后将用户转发到不同的起始选项卡?

C 默认参数

Drupal 查看多个排序标准