Видимость пункта меню, в зависимости от ситуации.

Главные вкладки

Аватар пользователя set666 set666 12 января 2015 в 16:42

У меня есть меню на моём сайте, которое выводится через блок, в нём есть пункт, который должен скрываться в зависимости от значения в массиве SESSION, подскажите как это можно реализовать на DrouPall 7 ?

Комментарии

Аватар пользователя imarat imarat 12 января 2015 в 20:00

смотря что за пункт
если ссылается на ноду, hook_node_access - запретите доступ к ноде, пункт пропадет
если прочее - hook_menu_alter , найдите нужный путь, переопределите access callback

Аватар пользователя set666 set666 14 января 2015 в 0:20

imarat wrote:
смотря что за пункт
если ссылается на ноду, hook_node_access - запретите доступ к ноде, пункт пропадет
если прочее - hook_menu_alter , найдите нужный путь, переопределите access callback

Можно поподробнее, как это сделать ?

Аватар пользователя set666 set666 14 января 2015 в 0:19

Я вот нашёл статью.
http://www.w9y.ru/drupal/drupalmenu/372-sokrytie-elementov-menyu-v-drupa...
Там есть пример функции:

function mymodule_menu_link_alter(&$item) { if ($item[‘link_path’] == ‘node/add’) { // Устанавливаем параметр 1, чтобы ссылка не отображалась $item[‘hidden’] = 1;} }

Мне не понятно куда эту функцию надо вставить, в какой файл?
Пробовал её вставлять в в файл module, уже существующего и подключенного модуля.

function accordion_link_alter(&$item) {
if ($item['link_patch'] == 'aldan-rayon') {
$item['hidden'] = 1;
}
}

Вот так, но ничего не происходит, пункт меню не исчезает.
Подскажите пожалуйста я просто первый раз делаю сайт на этой CMS