drupal——钩子菜单

drupal——钩子菜单,drupal,module,hook,Drupal,Module,Hook,信息文件是正确的,下面是我的模块文件代码。当我访问“为什么它不能工作”时 <?php function mymenu(){ $item = array(); $item['mymenu'] = array( 'description'=>'test1', 'page callback'=>'mymenu_test', 'access arguments' => array('access mymenu'),

信息文件是正确的,下面是我的模块文件代码。当我访问“为什么它不能工作”时

  <?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_menu(){
...
}

您不需要$item=array();还有。

应该是


函数mymenu_menu(){
...
}


您不需要$item=array();还有。

每当您看到带有钩子的api函数时,您必须用模块名称替换“钩子”部分


在这种情况下,它确实是mymenu(我的菜单)

每当你看到一个带有hook(钩子)的api函数时,你必须用你的模块名称替换“钩子”部分


在这种情况下,确实是mymenu\u menu

在使用hook\u menu添加菜单项之后,您需要刷新菜单缓存(在drupal 7中至少两次)。

您需要刷新菜单缓存(在drupal 7中至少两次)在使用hook_菜单添加菜单项之后。

尝试以下操作:使用函数名作为
modulename_菜单
,并使用
'access arguments'=>数组('access content')


尝试以下操作:使用函数名作为
modulename\u菜单
并使用
'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;
  }