2010-11-16 54 views
0

info文件是正確的,以下是我的模塊文件代碼。當我訪問http://localhost/drupal/mymenu爲什麼它不能工作。drupal - hook_menu

<?php 
function mymenu(){ 
    $item = array(); 
    $item['mymenu'] = array(
     'description'=>'test1', 
     'page callback'=>'mymenu_test', 
     'access arguments' => array('access mymenu'), 
    'type'=>MENU_CALLBACK, 
); 
return $item; 
} 

    function mymenu_perm(){ 
    return array('access mymenu'); 
    } 

function mymenu_test() { 
$output = 'hello world'; 
return $output; 
} 

我已將「訪問mymenu」權限授予匿名用戶。

回答

6

應該

function mymenu_menu() { ... }

您不需要$項目=陣列();那裏也有。

+0

你是對的,謝謝。 – runeveryday 2010-11-16 10:51:52

1

每當你看到hook_something一個API函數,你有你的模塊

在你需要清空菜單緩存這種情況下它確實mymenu_menu

+0

明白了,謝謝。 – runeveryday 2010-11-16 10:53:21

-2

的名稱來代替「鉤」部分(在在使用hook_menu添加菜單項後,drupal 7中至少兩次)。

1

請嘗試以下操作:使用函數名稱作爲modulename_menu並使用'access arguments' => array('access content')

<?php 
    function test_menu(){ 
    $item = array(); 
    $item['mymenu'] = array(
    'description'=>'test1', 
    'page callback'=>'mymenu_test', 
    'access arguments' => array('access content'), 
    'type'=>MENU_CALLBACK, 
); 
    return $item; 
    } 

    function mymenu_test() { 
    $output = 'hello world'; 
    return $output; 
    }