Drupal Views:每个项目添加Edit按钮和其他按钮

时间:2009-08-06 20:59:42

标签: drupal drupal-views

我在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变量。我只是认为必须有更好的方法,而我显然只是错过了一些东西。

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

2 个答案:

答案 0 :(得分:9)

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

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

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

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

action/[nid]

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

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

答案 1 :(得分:0)

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

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