【问题标题】:drupal link to view dependent on argument取决于参数的视图的drupal链接
【发布时间】:2010-01-16 22:56:34
【问题描述】:

我有一个节点(节点 a),其他各种节点(节点 b/c/d/e)引用它。

我可以创建一个带有参数的视图作为我正在查看的节点(节点 a),并获取引用该节点的节点列表。

基本上在节点 a 上查看节点 b-e 的列表。

我想为该节点的节点引用创建一个视图页面。但是如何将参数传递到新页面?

谢谢。

编辑:对于这个令人困惑的问题,我深表歉意。

基本上我有一个电影节点。我有很多评论引用了电影节点。

在电影节点上,我使用参数:content: review_of 来获取该电影的评论列表。

这很好,但是因为在电影节点上只有几条评论,我需要一个可以查看每部电影的所有评论的页面。问题是将电影的论点从视图块(例如,电影的 3 条评论)传递到视图页面(包含所有评论)。

理想情况下,观看页面的 url 应该是:/movies/movie-name/reviews

我已经在欧文的回答中尝试过这种关系,但无法做到这一点。

【问题讨论】:

    标签: drupal arguments drupal-views


    【解决方案1】:

    如果我理解您的意思,您想创建一个视图页面,允许您查看与父节点关联的节点(通过 CCK 节点引用字段)?

    设置视图后,您可以将 nid(或标题,或您选择作为参数的任何字段)传递给 URL。

    因此,假设您在以下位置设置了“视图”页面:http://yourinstall.com/related-nodes

    只需将参数传入:http://yourinstall.com/related-nodes/5

    以上(假设您的关系/参数是正确的)将显示所有具有 NID 5 的关联节点。

    这是我使用的image of the views configuration

    您会注意到视图上的“路径”设置是“movies/%/reviews”。我有两部电影“电影一”和“电影二”,每部电影都有一些评论。然后您可以使用http://yourinstall.com/movies/movie-one/reviews 等...查看评论的标题。

    编辑:好的,问题的澄清是,您有一个 Views 块,它显示特定于电影的评论列表。此外,您还希望“更多...”链接链接到“查看”页面,该页面显示特定于该电影的所有评论。

    这可以通过 Views 管理实现,但确实涉及一些 PHP 代码。

    1. 您的 Views 块可以像上面的 Views 页面一样设置。
    2. 覆盖您的视图块参数(审查)节点:标题,并在“如果参数不存在时采取的措施”下,选择“提供默认参数”->“PHP 代码”。
    3. 你使用的代码是:

      if (arg(0) == 'node' && is_numeric(arg(1) ) ) {
        $node = node_load(arg(1) );
        return str_replace(' ', '-', strtolower($node->title) );
      }
      

    本质上,Views 块的作用相同(期望电影节点标题),但将使用上面的代码尝试从 URL 中提取标题(注意这适用于路径别名)。电影节点标题也以“movies/[movie-title]/reviews”的格式放置在更多链接中(见上图),这将按预期链接到“视图”页面。

    【讨论】:

    • 谢谢你,有没有办法在 url 中有节点标题?
    • 是的,只需使用节点标题作为参数而不是 nid。还有一个选项可以将空格转换为破折号以用于 URL 目的。我在答案中添加了一个示例。
    • 谢谢你,但我不明白这是怎么工作的。我的论点不是nid,而是节点引用字段。如果我将标题设置为参数,那我什么也得不到。感谢您的帮助。
    • 嗯,你的关系应该是节点引用字段,那么你的参数应该是节点nid/title(使用节点引用字段的关系)。
    • 谢谢,但还是不明白。即使我创建了一个关系,它也不会被引用该节点的节点过滤。所以我使用关系为节点标题添加了一个参数。如果参数不存在,我要采取的行动:是显示所有值。我曾经给它默认值:来自 url 的节点 ID,但这会导致它显示(不正确的)nid。但这会导致参数为“全部”,而不是标题名称。只是不确定这应该如何工作。谢谢。
    【解决方案2】:

    我对这个问题的理解正确吗?

    真正的问题是块中的“更多”链接没有链接到正确的视图?

    换句话说,如果您的视图是“movie_reviews”,并且在电影节点页面上您有:movie_reviews->block 添加在侧面,在此 movie_reviews->block 中,“更多”链接将访问者引导至电影/全部/评论?

    您是否考虑过对这些更改进行模板化? (操纵块内的链接以使用当前正在观看的电影节点的节点。) 块很容易主题化。

    如果这对您的网站有意义,我可以提供有关如何实现此类功能的参考。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多