Drupal添加静态链接到视图

slo*_*ype 7 drupal drupal-views

我有一个Drupal视图,列出了一个名为publication的节点.在页面顶部,我想要一个链接'新发布',而不是在导航块中.有人可以指导我如何解决这个问题吗?似乎有几种方法,但我运气不好.

mac*_*mac 10

我也在努力获得你问题的确切含义.

我理解你的问题:"我的视图生成了各种节点列表页面,我希望在这些页面的每一页上都有一个链接,允许我创建视图中列出的类型的新节点.我该怎么做?"

如果我的问题正确,可能的方法是在视图的模板中插入链接.实际上,创建该类型的新节点的链接将是该类型的静态URL

http://example.com/node/add/mynodetype
Run Code Online (Sandbox Code Playgroud)

所以你可以放心地输入你的模板文件:

<?php print(l('Create a new mynodetype article!', 'node/add/mynodetype')) ?>
Run Code Online (Sandbox Code Playgroud)

这基本上等同于Henrik通过修改视图标题提出的(+1).您选择的方法可能取决于您是将此链接视为视图的核心功能还是更多主题元素.如果将其添加到视图中,您将拥有所有主题(=功能).如果您将它放在模板中,您将只使用模板所使用的主题(=主题元素).当然 - 即使它是一个主题元素 - 如果您使用标准模板文件,将它包含在视图中会更有意义,因此您不必为链接创建整个模板文件.

从下面的评论看来,您似乎还没有为您的视图使用模板,因此 - 除非您需要它 - 您可以使用Henrik的建议,即在视图的标题中添加信息.然而,我准备了截图来说明这两种方法:

添加到标题:

您必须单击"标题",然后在文本字段中插入代码并将输入过滤器设置为"PHP"(否则您的代码将被转义并显示而不是运行).

视图UI的屏幕截图

创建模板:

您必须单击"信息:主题",然后您将获得可能的模板名称列表.粗体的是目前使用的那个.然后,您可以使用粗体名称(从views目录)将文件复制到主题目录,然后以其中一种方法重命名.然后您可以输入文件并编辑它,添加您需要的PHP代码.

如前所述:如果你不需要其他任何模板,那么只为此创建一个主题是过度的,IMO.

视图UI的屏幕截图


小智 6

您还可以使用以下模块:https://www.drupal.org/project/views_linkarea.

如其描述中所述,

"通过使它成为一个真正的链接,而不仅仅是标题文本区域中的一连串HTML,它可以获得任何Drupal链接获得的所有特殊处理和干净的URL友好性和基本路径可移植性."