menu_get_object
includes/menu.inc, строка 699
- Версии
- 6
menu_get_object($type = 'node', $position = 1, $path = NULL)
Возвращает загруженный объект из роутера меню.
Функция отдаст вам текущую ноду на страницах вида 'node/5'
или 'node/5/revisions/48'
и т.д. Кроме того, вызов menu_get_object('user')
возвратит объект пользователя на страницах 'user/5'
.
Примечание: не используйте эту функцию вместе с функциями _to_arg
(например, user_current_to_arg()
), потому что это может вызвать бесконечную рекурсию.
Параметры
$type
Тип объекта. В определении элемента hook_menu()
это выступает как '%'-тип (напр, 'node/%node/edit'
). Ядро предоставляет следующие типы объектов: aggregator_feed, aggregator_category, contact, filter_format, forum_term, menu, menu_link, node, taxonomy_vocabulary, user. По-умолчанию равно 'node'
.
$position
(по-умолчанию 1) Ожидаемая позиция объекта в строке аргументов. Например, для 'node/%node'
позиция равна 1, для 'comment/reply/%node'
позиция равна 2.
$path
См. menu_get_item()
для подробной информации. По умолчанию — текущий путь.
Связанные темы
Код
<?php
function menu_get_object($type = 'node', $position = 1, $path = NULL) {
$router_item = menu_get_item($path);
if (isset($router_item['load_functions'][$position]) && !empty($router_item['map'][$position]) && $router_item['load_functions'][$position] == $type .'_load') {
return $router_item['map'][$position];
}
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии