我在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变量。我只是认为必须有更好的方法,而我显然只是错过了一些东西。
那么,有人知道怎么做吗?
答案 0 :(得分:9)
您可以添加链接,然后通过执行以下操作将它们设置为按钮(如果您确实需要它看起来像一个按钮):
将以下字段添加到您的视图中:
为了使第二个字段成为包含节点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}})。