重复视图:为每个项目添加编辑按钮和其他按钮

问题描述 投票:4回答:2

我已经在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

编辑在何处进入各个节点的编辑页面。另外,ACTION表示我想要显示在导航到页面的项目下方的按钮,我们将其称为http://www.mysite.com/action,并使用id作为参数来结束如下所示的内容:http://www.mysite.com/action/1

我希望这一切都说得通。

解决该问题的麻烦方式是创建主题文件views-view-NAME.tpl.php并操纵$ rows变量。我只是认为必须有更好的方法,而我显然只是缺少了一些东西。

所以,有人知道该怎么做吗?

drupal drupal-views
2个回答
9
投票

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

向您的视图添加以下字段:

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

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

action/[nid]

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

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

0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.