Используем значение параметра wildcard(%):
<?php
function menufun_menu() {
$items['menufun/%/bar/baz'] = array(
'title' => 'Hi',
'page callback' => 'menufun_hello',
'page arguments' => array(1), // The matched wildcard.
'access callback' => TRUE,
);
return $items;
}
?>Выше мы объявили коллбэк страницы, а теперь описываем непосредственно функцию menufun_hello(), которая будет обрабатывать этот вызов:
<?php
/**
* Page callback.
*/
function menufun_hello($a = NULL, $b = NULL) {
return t('Hello. $a is @a and $b is @b', array('@a' => $a, '@b' => $b));
}
?>Здесь мы передаём часть пути как параметр в функцию. array(1) - это запись означает, что в качестве первого аргумента мы берём второй элемент массива (счёт начинается с нуля, array(0) в данном случае будет равен menufun). Ну и второй аргумент берётся из той части пути, которая идёт после baz. То есть - тут всё по-прежнему, берём параметр из конца URL. Например, путь menufun/one/bar/baz/two передаст в функцию первый аргумент $a равный one, и второй аргумент $b будет равен two.