drupal, почему MENU_NORMAL_ITEM не может работать - PullRequest
0 голосов
/ 18 ноября 2010

Я написал простой модуль для практики hook_menu.но это не работаетчто не так с моим кодом

   function mymenu1_menu(){
  $item = array();

  $item['mymenu/menu'] = array (
   'description' =>'test1',
   'page callback' => 'mymenu_test_access',
   'access callback' => 'mymenu_is_test_access',
   'type' =>MENU_NORMAL_ITEM,    
   );
   return $item;

  }

  function mymenu_test_access(){
  $output = 'you're logged';
  return $output;
  }

  function mymenu_is_test_access(){
    return $GLOBALS['user']->uid >0 ;
    }

имя моего модуля mymenu1, файл информации о модуле правильный, кеш очищенно в части навигации я не вижу меню, которое я создал.спасибо.

Ответы [ 3 ]

4 голосов
/ 18 ноября 2010

для начала - в вашем коде есть ошибка

    function mymenu_test_access(){
  $output = 'you're logged';

  return $output;

  }

вам нужно экранировать одинарную кавычку в выводе $.$ output = 'you logged';

должно быть

$ output = 'you \' logged ';

попробуйте исправить это и посмотреть, как это происходит

1 голос
/ 18 ноября 2010

Возможно, проблема с контролем доступа.Я действительно не уверен, что вы пытались сделать в функции mymenu_is_test_access, но она не возвращает правильные значения (и полные опечаток).

Попробуйте использовать:

'access arguments' => array('access content'),

для создания пункта меню для каждого пользователя (даже анонимного пользователя).

Если вы хотите ограничить доступ к определенной группе / роли - прочитайте это: Может ли кто-нибудь объяснить "аргументы доступа" в Drupal?

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

Есть ли в вашей системе запись для "mymenu"? Потому что, если он не существует, путь "mymenu / menu" не будет действительным. По крайней мере, я так понимаю.

...