Drupal添加静态链接到视图

时间:2009-11-30 14:52:05

标签: drupal drupal-views

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

3 个答案:

答案 0 :(得分:10)

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

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

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

类型的静态URL
http://example.com/node/add/mynodetype

所以你可以安全地输入你的模板文件:

<?php print(l('Create a new mynodetype article!', 'node/add/mynodetype')) ?>

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

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

添加标题:

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

Screenshot of views UI

创建模板:

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

如前所述:如果您不需要其他任何模板,那么仅为此创建一个主题就是超越IMO。

Screenshot of views UI

答案 1 :(得分:6)

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

如其描述中所述,

  

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

答案 2 :(得分:3)

编辑:刚才意识到我可能误解了你的问题。您希望每个页面顶部都有一个链接,指向您的视图?


(注意:可能不是OP想要的,因为它会将链接放在视图本身的顶部)

最简单的方法之一是将其放在视图的“标题”部分(在视​​图配置页面的“基本设置”下)。您可以为此设置过滤器格式,因此请务必使用允许链接的格式。