7

我有一个 Drupal 视图,其中列出了一个名为发布的节点。在页面顶部,我希望有一个“新出版物”链接,而不是在导航块中。有人可以指导我如何去做吗?似乎有几种方法,但我运气不好。

4

3 回答 3

10

我也很难理解你问题的确切含义。

我理解您的问题是这样的:“我的视图生成了多个节点列表页面,我希望在每个页面的顶部都有一个链接,允许我创建视图中列出的类型的新节点。我该怎么做?”

如果我的问题正确,一种可能的方法是在模板中插入链接以供您查看。实际上,创建该类型新节点的链接将是该类型的静态 URL

http://example.com/node/add/mynodetype

所以你可以安全地在你的模板文件中放入类似的东西:

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

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

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

添加到标题:

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

视图 UI 的屏幕截图

创建模板:

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

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

视图 UI 的屏幕截图

于 2009-11-30T15:39:02.037 回答
6

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

如其描述所述,

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

于 2014-06-26T13:07:59.467 回答
3

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


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

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

于 2009-11-30T15:03:28.410 回答