Меню на Друпале, ч.5

node/%node/edit - использование такого пути запускает функцию node_load().

Например - возьмём вот такой вот пример:

<?php
$items
['user/%user_uid_optional'] = array(
'title' => 'My account',
'title callback' => 'user_page_title',
'title arguments' => array(1),
'file' => 'user_pages.inc',
);
?>

Обратите внимание вот на это - %user_uid_optional. С каким аргументом вызывается функция user_page_title для например пути user/356. Так вот - на этот раз она вызывается не с аргументом 356, а вот с таким user_uid_optional_load('356'), то есть входным параметром служит объект пользователя, uid которого равен 356, а не просто 356.

А теперь еще пример использования to_arg():

<?php
/**
* Implementation of hook_menu().
*/
function_menufun_menu() {
$items['menufun/%a_zoo_animal'] = array(
'title' => 'Hi',
'page callback' => 'menufun_hello',
'page arguments' => array(1),
'access callback' => TRUE,
'type' => MENU_NORMAL_ITEM,
'weight' => -10
);
return
$items;
}

function
a_zoo_animal_to_arg($arg) {
return
'tiger';
}
?>

Таким образом (благодаря функции to_arg()) пункт меню появляется в Навигации.