Всем здоровья.
Вот попробовал создать пункты меню в ноде с помощью Wildcard Loader Arguments.
$items['user/%user/mymodule'] = array(
'title' => 'Some Title',
'page callback' => 'mymodule_user_page',
'page arguments' => array(1),
'type' => MENU_LOCAL_TASK,
);
return $items;
}
function mymodule_user_page($var){
//реализация
}
В общем то всё работает, но только если в ключе $items %user или просто %, причём в первом случае в обработчик передаётся глобальная $user, а во втором просто id. Как только пытаюсь подставить какую-то другую переменную - пункт перестаёт отображаться. При этом менял название обработчика, и _page на _load как в документации но тоже не помогает. Может зря заморачиваюсь, но всё таки интересно в чём же дело.
Комментарии
например? это не переменная а префикс функции до _load, например если подставить %mymodule и создать функцию mymodule_load, то в page callback уйдёт результат этой функции
xxandeadxx
Нет, не уйдёт, просто пункт меню не будет отображаться(по крайней мере в 6.х. так). В принципе всё понятно - для адресации параметра в обработчик используется просто %, а %user %node и т.д. это стандартные подстановочные переменные, которые можно определять самостоятельно как указано в статье.
попробуйте прежде чем говорить
это не переменные, а имена функций без суфикса _load. советую внимательней читать доки