Друпал - hook_menu - PullRequest
       20

Друпал - hook_menu

0 голосов
/ 16 ноября 2010

инфо-файл правильный, ниже приведен код моего модуля. когда я получаю доступ к http://localhost/drupal/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» анониму.

Ответы [ 4 ]

6 голосов
/ 16 ноября 2010

Это должно быть

function mymenu_menu() { ... }

Вам не нужен $ item = array ();там тоже.

1 голос
/ 26 мая 2016

Попробуйте следующее: используйте имя функции как 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;
  }
1 голос
/ 16 ноября 2010

всякий раз, когда вы видите функцию API с hook_something, вы должны заменить часть 'hook' на имя вашего модуля

в данном случае это действительно mymenu_menu

0 голосов
/ 29 сентября 2011

вам нужно очистить кеш меню (как минимум два раза в drupal 7) после добавления пункта меню с hook_menu.

...