Заменить меню редактирования узла в Drupal - PullRequest
1 голос
/ 22 ноября 2011

Как я могу изменить (сбросить или добавить) новую кнопку в моем edit меню узла?В этом случае я хотел бы набрать меню «Настройки» и добавить новое меню ... Я посмотрел в $form и $form_state, но там не повезло.По крайней мере, я так думаю ...

enter image description here

РЕДАКТИРОВАТЬ

Имя модуля: публикация
Установка: публикация. Установка
Файл: публикация. Модуль

function publication_menu_alter(&$items) {
     unset($items['node/%node/edit']);
}

РЕДАКТИРОВАНИЕ 2

function publication_menu() {
    $items['node/add/fiche'] = array(
        'title' => 'New linked fiche',
        'type' => MENU_LOCAL_TASK
    );
    return $items;
}

РЕДАКТИРОВАТЬ 3 То, что я пытаюсь сделать, - это позволить моим пользователям добавить еще немного контента к существующему контенту.Поэтому им не разрешено редактировать текущий контент, только чтобы добавить некоторые детали.Поэтому я подумал, что удаляю кнопку edit и заменяю ее кнопкой add и кнопкой add на страницу, где он может создавать больше контента.Вот и все:)

1 Ответ

2 голосов
/ 22 ноября 2011

Вы должны использовать hook_menu_alter для сброса меню.

function publication_menu_alter(&$items) {
    // print_r($items);
    // Find path you want to unset then unset it.
    // Should be something like:
    unset($items['your/menu/path']);
}

и hook_menu для определения нового.В вашем случае я считаю, что это должен быть тип меню MENU_LOCAL_TASK, так как вы хотите добавить новую вкладку.Не так ли?

function publication_menu() {
    $items['node/%node/something_else'] = array(
        'title' => 'My title',
        'page callback' => 'mymodule_abc_view',
        'page arguments' => array(1),
        'access arguments' => array('access content'),
        'type' => MENU_LOCAL_TASK
    );
    return $items;
}

function mymodule_abc_view($nid = NULL) {
    return 'This node ID is '. $nid;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...