Drupal 6 重定向或重写drupal链接

Drupal 6 重定向或重写drupal链接,drupal-6,pathauto,Drupal 6,Pathauto,我有一个自定义结构,用于浏览使用hook\u菜单和视图构建的内容。我希望内容的链接按节点类型路由到我的结构中的相应目标。因此,在正常情况下单击节点链接会将您带到node/123,而我希望被发送到foo/123(因为节点123属于“foo”类型) 我尝试了PathAuto,但仅使foo/123成为node/123的别名是行不通的。具体结构、选项卡等。。。已使用foo/123的hook\u菜单构建。PathAuto(据我所知)实际上只是显示node/123,这只是股票drupal节点显示,而不是我想

我有一个自定义结构,用于浏览使用
hook\u菜单和视图构建的内容。我希望内容的链接按节点类型路由到我的结构中的相应目标。因此,在正常情况下单击节点链接会将您带到
node/123
,而我希望被发送到
foo/123
(因为节点123属于“foo”类型)

我尝试了PathAuto,但仅使
foo/123
成为
node/123
的别名是行不通的。具体结构、选项卡等。。。已使用
foo/123
hook\u菜单构建。PathAuto(据我所知)实际上只是显示
node/123
,这只是股票drupal节点显示,而不是我想要显示的

我开始把
hook\u nodeapi
drupal\u goto
放在一起,根据节点类型进行重定向。 [解决一些无限重定向问题,但我相信我能解决。]但我真的想这样做吗?让站点上的每个链接都通过HTTP重定向,这会不会对速度造成影响

最好的方法是什么

编辑
事实上,我认为问题在于PathAuto不尊重我的hook_菜单,而且可能不是适合这项工作的工具。 由于还没有设置PathAuto,我有一个hook_菜单,它为
foo/123
定义了一个页面,其中foo是节点类型。导航到
foo/####
可按预期工作,显示节点的自定义版本


现在我想将
node/####
重定向到
foo/###
,或者换句话说,我想所有指向
node/###
的链接都写为
foo/####
。对于PathAuto来说,这似乎是一项显而易见的任务,在节点类型Foo下,我的模式是
Foo/[nid]
。除了设置之后,我的hook_节点不再工作。这是因为现在
foo/####
被路由到
node/###
就像我要求的那样,显示的是普通的drupal节点显示,而不是我的hook_菜单。

实际上可以设置PathAuto来指定自定义路径。它使用令牌模块,允许您轻松地重新配置pathAuto应如何构建别名

签入pathauto的管理页面(admin/build/path/pathauto)

编辑


对于您的编辑,我要做的是实现hook\u menu\u alter,并将节点/%page回调修改为hook\u menu中使用的回调,以呈现foo/123页面。

hmmm,我已经尝试了PathAuto,但我认为我的问题比这更复杂。更新了问题。