У меня есть пользовательская структура для просмотра контента, созданная с помощью hook_menu
и Views.Я хотел бы, чтобы ссылки на контент направлялись по типу узла в соответствующий пункт назначения в моей структуре.Таким образом, хотя при обычном щелчке по ссылке на узел вы переходите на node/123
, я вместо этого хотел бы, чтобы его отправляли на foo/123
(поскольку узел 123 имеет тип 'foo').
Я пробовал PathAuto, но это нене получается сделать foo/123
псевдонимом node/123
.Специальная структура, вкладки и т. Д. Была построена с использованием hook_menu
для foo/123
.PathAuto (насколько я понимаю) на самом деле просто отображает node/123
, который является просто отображением стандартного узла drupal, а не то, что я хочу показать.
Я начал собирать hook_nodeapi
и drupal_goto
для перенаправленияна основе типа узла.[Разрабатывает некоторые бесконечные проблемы с перенаправлением, но я уверен, что смогу разобраться.] Но действительно ли я хочу это сделать?Неужели не будет скорости, чтобы каждая ссылка на сайте проходила через перенаправление HTTP?
Какой лучший способ сделать это?
Редактировать
На самом деле, я думаю, что проблема в том, что PathAuto не уважает мое hook_menu и, возможно, не подходит для работы.Пока не настроен PathAuto, у меня есть hook_menu, который определяет страницу для foo/123
, где foo - тип узла.Переход к foo/###
работает, как и ожидалось, отображая мою пользовательскую версию узла ###.
Теперь я хочу перенаправить node/###
на foo/###
или, другими словами, я хочу, чтобы все ссылки на node/###
записываться как foo/###
.Это кажется очевидной задачей для PathAuto, где под типом узла Foo мой шаблон равен foo/[nid]
.За исключением того, что после его настройки, мой hook_node больше не работает.Это потому, что теперь foo/###
перенаправляется на node/###
, как я и просил, и отображается отображение узла vanilla drupal, а не мое hook_menu.