2010-06-16 3 views
0

Мне не нужен экран/вкладка «просмотр» узла для определенных типов контента.
Вместо этого, когда пользователь переходит в/node/nid, я хочу показать форму редактирования узла.Как заменить экран «Просмотр узла» в Drupal 6?

Любые идеи о том, как я это делаю?

thanks,
Omer.

+0

Я не уверен, что это хорошая идея. Во-первых, не все пользователи могут редактировать форму, но, возможно, все пользователи могут видеть узел (если анонимные пользователи не могут видеть узлы, тогда нет смысла создавать сайт, если не в том случае, если сайт считается замеченным от ограниченного числа пользователей); во-вторых, может быть количество других вкладок вместе с вкладкой «Вид», которая будет более доступной. – kiamlaluno

+0

спасибо, но на сайте, над которым я работаю, действительно имеет смысл, в некоторых случаях. – Omer

ответ

1

Способ сделать это, было бы использовать hook_menu_alter, чтобы изменить пункт меню node/[nid] и вызвать вашу собственную функцию. В этой функции вы можете проверить тип узла и вызвать функцию, используемую для отображения узла или того, который используется для отображения формы узла.

+0

Я пробовал это. Я использую pathauto для изменения префикса от «узла» до чего-то еще (например, «pref») и реализованного hook_menu_alter для вызова функции, которая отображает форму редактирования на одном и том же пути. Параметр pathauto, кажется, переопределяет мой menu_alter, так как я по-прежнему вижу форму представления (изменение моего menu_alter на 'other_pref' делает форму без проблем) – Omer

+0

Pathauto не изменяет внутренний путь, поэтому даже если вы измените узел/[ nid] в pref/[nid], он все еще является узлом/[nid], который называется внутренним. Вам не нужно менять URL-адрес с помощью 'hook_menu_alter', только обратного вызова меню. – googletorp

+0

мой плохой. перепутали hook_menu и hook_menu_alter. Я смотрю в hook_menu_alter, кажется, находится в правильном направлении. – Omer

Смежные вопросы