替换Drupal中的节点编辑菜单

时间:2011-11-22 09:44:27

标签: drupal menu

如何在edit - 节点菜单中更改(取消设置或添加)新按钮?在这种情况下,我想调整“设置”菜单并添加一个新菜单...我查看了$form$form_state,但没有运气。至少,这就是我的想法......

enter image description here

编辑

模块名称:出版物
安装: publication.install
文件: publication.module

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 个答案:

答案 0 :(得分:2)

您应该使用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;
}