hook_menu в drupal 7, когда я передаю URL. Выдает, что страница не найдена

вот мой код

function custom_menu() {
  $items['award/offer'] = array(
    'page callback' => 'award_offer_email',
    'page arguments' => array(1,3),
    'type' => MENU_CALLBACK,
  );
}

Здесь я передал URL-адрес, например http://dev.webroot.com/award/offer, но получаю

Запрошенная страница "/award/offer" не найдена.

Любые идеи?


person Janagiram    schedule 28.11.2017    source источник


Ответы (3)


сначала вам нужно вернуть свои пункты меню. Помимо этого, вам также необходимо предоставить доступ к вашим аргументам.

Переписывая свой пример:

function custom_menu() {
   $items['award/offer'] = array(
    'page callback' => 'award_offer_email',
    'page arguments' => array(1,3),
    'type' => MENU_CALLBACK,
    'access arguments' => array('access content'),
  );

  return $items;
}

Теперь очистите кеш и проверьте его!

person Shripal Zala    schedule 28.11.2017

Вы очищали кеш после обновления hook_menu()?

person wau    schedule 28.11.2017
comment
Это должен быть комментарий, а не ответ. - person MilanG; 28.11.2017
comment
Хорошо, тогда. Не понял этого. - person MilanG; 28.11.2017
comment
@MilanG Не беспокойтесь. Спасибо. Я просто новичок здесь. - person wau; 28.11.2017

function custom_menu() {
   $items['award/offer'] = array(
    'page callback' => 'award_offer_email',
    'type' => MENU_CALLBACK,
    'access arguments' => array('access content'),
  );

  return $items;
}

Очистите меню кеша (если вы используете drush: меню drush cc) и обновите страницу.

https://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_menu/7.x

person Fky    schedule 28.11.2017