Drupal 添加静态链接到视图

Posted

技术标签:

【中文标题】Drupal 添加静态链接到视图【英文标题】:Drupal Add Static link to a view 【发布时间】:2009-11-30 14:52:05 【问题描述】:

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

【问题讨论】:

编辑您的问题,使其更具体。你从 mac 那里得到了一个很好的答案,做一些公正的事情。 【参考方案1】:

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

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

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

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

这样您就可以安全地在模板文件中放入如下内容:

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

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

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

添加到标题:

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

创建模板:

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

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

【讨论】:

感谢您的回复,我有几种观点,其中一种叫做出版。我只想在发布视图的顶部添加这个链接,。我必须创建一个覆盖模板吗?或者我应该将代码放入哪个模板?再次感谢,j 太棒了。感谢一百万您的帮助。 j 那么权限呢?每个人都可以看到链接,即使他们没有登录。他们将​​无法添加任何内容,但他们可以看到链接。【参考方案2】:

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

正如其描述中所述,

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

【讨论】:

【参考方案3】:

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


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

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

【讨论】:

以上是关于Drupal 添加静态链接到视图的主要内容,如果未能解决你的问题,请参考以下文章

在 Drupal 8 中将链接块添加到过滤器下方的视图页面

Drupal:将存档添加到主链接作为 SubNav

将静态表视图单元链接到详细的 UINavigationController

如何使用 drupal 视图使图像流链接到内容或产品

Drupal 视图中自定义表记录项的编辑链接

如何更改drupal 7中视图的[编辑节点链接]