如何在菜单中使用URL别名?


14

我通过旋转测试站点来踢Drupal 7的轮胎。

我选择了Danland主题,并为每个页面创建了带有URL别名的各种页面,但是当我为每个页面创建菜单链接时,我只能在菜单链接的“路径”字段中输入节点,而不能输入别名。因此,我只能在菜单中输入“ node / 20”,而不能输入“ about-us”(节点的别名)。

我希望菜单项解析为别名而不是节点。
我怎么做?


3
显示时,菜单链接将使用定义的路径别名。有什么理由还不够吗?
Berdir 2011年

我的似乎没有这样做。不知道我是否在某处或某处缺少一些配置-请参阅:reboot.researchvessels.org/about-us,它用作别名,但我无法使菜单链接转到那里。路径字段仅接受外部URL或节点引用。
cpuguru 2011年

我有同样的问题。我的“主菜单”可以很好地与别名配合使用。我创建了一个新菜单。这是唯一不保存别名的方法。此外,它完全中断了,因为当我转到“ node / 10”时,我想单击另一页,菜单链接上有一个额外的“ node”,因此它指向“ node / node / 10”“ node / node / 11”等等。如果我使用绝对路径,那么它将带我到正确的页面,但是我希望菜单能够自动识别哪个页面处于活动状态,它无法识别绝对URL是我所在的路径,因此css类“活动”的设置不正确。我有drupal 7.2

Answers:


7

就像评论中提到的Berdir和他的回答中提到的Greg一样,以下添加路径别名的方法应该使用Just Work ™:

  • 在节点创建/编辑期间将其添加到节点提交表单上
  • 使用Pathauto为节点自动创建别名。
  • 通过转到配置搜索和元数据URL别名来手动添加别名

没有这样做是很奇怪的。尝试通过转到配置开发性能来清除缓存。这应该重建Drupal的菜单并获取路径别名以正确显示。


1
我以为全局重定向仅影响URL解析,而不影响链接输出?我从一开始就在所有站点上使用Global Redirect-不知道Drupal在没有它的情况下的行为。
格雷格,

@格雷格,你是对的;我添加了它作为可能的解决方法,但是它实际上并没有解决核心问题,因此我删除了它。

别名有效,只是我无法在菜单中输入别名路径作为目的地,只能输入外部URL或“ node / x”。我不能告诉它去菜单项“ about-us”,只有“ node / 20”。所以问题是,我该如何输入别名作为目的地而不是节点?
cpuguru

我清除了缓存,甚至删除并重新创建了“关于我们”页面,但仍然没有任何乐趣。
cpuguru 2011年

我刚安装了全球重定向模块和仍然没有运气- drupal.org/project/globalredirect
cpuguru

4

我也可能是您正在使用与创建URL别名不同的语言浏览网站。如果您在使用德语(例如)浏览时创建别名,则以英语模式浏览站点的访问者仍将看到node / 234234。只是一个小费。


0

如果使用节点add / edit form分配路径别名和菜单条目,则创建的菜单项将使用别名路径。对于简单的用例,您无需在admin/config/search/path页面上手动创建别名或在页面上手动创建菜单项admin/structure/menu


我可以创建别名,并且如果我直接进入它们的话它们也可以工作,但是我找不到一种配置菜单以使用它们的方法。唯一可用的选项似乎是“路径”字段的“ node / xx”,当您单击链接时,它在地址字段中显示site / node / xx而不是URL别名。
cpuguru 2011年

@cpuguru-如果删除节点的别名和菜单项,然后从节点编辑表单重新创建别名和菜单项,菜单项是否仍不使用别名?
格雷格,

不,我只是在“伙伴关系”页面上再次尝试。删除了别名和菜单项,然后添加了“伙伴关系”页面,添加了别名并将其添加到菜单中,它仍然在菜单中显示为“ node / 21”。
cpuguru 2011年

0

我刚刚尝试使用Danland主题安装新的d7,它可以正常工作。如果您无法正常使用,则可以始终在菜单中指定外部网址,对吗?例如“ node / 1”的“ http://yourdomain.com/about-us”界面


0

看来,将我的Drupal安装从Drupal 7更新到新发行的Drupal 7.2可以解决此问题。就是刚刚发布的更新的SQL Server驱动程序,或者是刚刚发行的更新的SQL Server驱动程序,如果要更新到Drupal 7.2,则需要在原始PDO SQL Server驱动程序上安装这些更新脚本才能起作用。

无论哪种方式,现在当我单击菜单链接时都会显示别名URL。因此,要么是Drupal core 7.2中的代码更改,要么是SQL Server驱动程序更新。我不确定是哪一个。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.