Вопрос по hook_menu

Главные вкладки

Аватар пользователя Vitek87 Vitek87 31 марта 2012 в 23:06

такой вопрос, не могу найти решение в апи.
Создаю элемент меню с динамическим аргументом указанным через %. При указании любого числа в адресе все работает, колбек отрабатывает, но если ничего не указывать, "страница не найдена". Смотрю в других модулях, такое прокатывает, но у меня нет. Может я что-то не доделываю, или функция какая должна вызываться?

<?php$items['advs/%'] = array(
        'title' => 'advertisments',
        'description' => 'Listing of advs',
        'page callback' => 'advertisment_page',
        'access arguments' => array('access content'),
        'page arguments'=>array(1),
        'type' => MENU_NORMAL_ITEM,
    );?>

Комментарии

Аватар пользователя eneus eneus 31 марта 2012 в 23:17

конешно что "Страница не найдена" ведь у вас же нет страницы advs у вас есть только страница с аргументом! Сздайте страницу без аргумента и все будет работать!

Аватар пользователя Vitek87 Vitek87 31 марта 2012 в 23:28

Ну я так в принципе и думал. Но если у меня будет до 3 аргументов в пути, я должен создать 4 элемента меню с одинаковым колбеком? Как-то не здраво это. Логичнее 1 пункт меню с 3 процентиками, а в колбеке разруливать, есть ли аргументы в урле и в соответствии с этим возвращать контент.
Да и например вот например

<?php
$items
['devel/variable/edit/%'] = array(
    
'title' => 'Variable editor',
    
'page callback' => 'drupal_get_form',
    
'page arguments' => array('devel_variable_edit'3),
    
'access arguments' => array('access devel information'),
    
'type' => MENU_CALLBACK,
    
'menu_name' => 'devel',
  );
?>

Работает как и указанным аргументом, так и без, и пункта "devel/variable/edit/" нет.

Аватар пользователя eneus eneus 1 апреля 2012 в 0:46

Посоветую вам вот этот модуль: Examples-">http://drupal.org/project/examples]Examples[/module]- думаю там найдете все вопросы которые Вас интересуют.