【问题标题】:Drupal Views: Adding Edit button and other buttons per itemDrupal 视图:为每个项目添加编辑按钮和其他按钮
【发布时间】:2009-08-06 20:59:42
【问题描述】:

我在 drupal 中设置了一个视图,其中列出了这样的项目:

IMAGE 1 | IMAGE 2 | IMAGE 3 | IMAGE 4
 desc   |  desc   |   desc  |  desc

你猜对了,“desc”是对节点的描述。我需要的是最终得到这样的结果:

IMAGE 1 | IMAGE 2 | IMAGE 3 | IMAGE 4
 desc   |  desc   |   desc  |  desc
 EDIT   |  EDIT   |  EDIT   |  EDIT  
 ACTION | ACTION  | ACTION  | ACTION

EDIT 转到各个节点的编辑页面。此外,ACTION 表示我希望出现在导航到页面的项目下方的按钮,我们称之为http://www.mysite.com/action,并将 id 作为参数,最终得到如下内容:http://www.mysite.com/action/1

我希望这一切都有意义。

解决这个问题的痛苦方法是创建一个主题文件views-view-NAME.tpl.php 并操作$rows 变量。我只是认为必须有更好的方法,我显然只是错过了一些东西。

那么,有人知道怎么做吗?

【问题讨论】:

    标签: drupal drupal-views


    【解决方案1】:

    您可以添加 链接,然后通过执行以下操作将它们设置为按钮(如果您真的需要它看起来像一个按钮):

    将以下字段添加到您的视图中:

    • 节点:编辑链接(这将为您处理权限,仅为有权编辑的用户显示链接)
    • 节点:Nid

    为了使第二个字段成为包含节点 ID 的任意链接,请在配置字段时选择 将此字段作为链接输出 选项。在链接路径框中,输入所需的链接,如下所示:

    action/[nid]
    

    或者,您可以使用绝对网址

    http://www.example.com/action/[nid]
    

    【讨论】:

      【解决方案2】:

      对于 Drupal 8,我构建了 Views Any Route 模块,它允许您基于路由创建按钮:https://www.drupal.org/project/views_any_route。该模块的主要用途是访问检查包含在链接的构造中,否则需要自定义字段或 Views Field View 等。

      在这种情况下,如果您使用 Devel 模块,您可以查找“路由信息”并找到节点路径的正确路由。然后为该路由创建 Any Route 按钮,并将 nid 作为参数传递(即 node={{ nid }})。

      【讨论】:

        猜你喜欢
        • 2018-06-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-11
        • 2011-09-13
        • 2011-07-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多