Вроде бы все понятно.
Есть один пункт меню, допустим, подобие "личного кабинета" - показ которого не оправдан для анонимного пользователя..
Хотелось бы его скрыть. Возможно скрыть его можно по ID (пунктам меню присваиваются свои номера) - я не знаю, просто предполагаю.
Ставить модуль, к примеру, Menu Per Role не хочется, т.к. один пункт того не стоит и выставлять права ради этого для всего меню - глупая затея, имхо.
Спасибо.
С новым годом Вас!
Комментарии
http://api.drupal.org/api/function/hook_menu_alter/6
выставлять access callback для нужного элемента меню в user_is_logged_in
что-то вроде
<?php
if (user_is_logged_in()) {
function hook_menu_alter(&$callbacks) {
$callbacks['node/3']['access callback'] = FALSE;
}
}
?>
???
У меня плохо с PHP..
не уверен что с node/3 получится, потому что такого реально пути нет, есть node/% - а для типовых путей типа /user или /node
<?php
function YOURMODULE_menu_alter(&$callbacks) {
$callbacks['node']['access callback'] = 'user_is_logged_in';
}
?>
спасибо, буду пробывать
не знаю как в 5-рке, а в 6-рке не показываются пункты меню, ссылающиеся на недоступные для гостя материалы.
мммм, интересно...
потестил на модуле content access.. - да действительно, не отображаются пункты на ссылающиеся запрещенные материалы.
Можно изящнее: Menu access