Переопределить параметр Itemid меню Joomla из внешнего интерфейса - PullRequest
0 голосов
/ 22 декабря 2011

Мы знаем, что Joomla 1.6 и выше имеет настройки групп уровней доступа, но этот маленький хак может помочь всем от 1.5 и выше

здесь выводятся параметры из определенного пункта меню Joomla

$menus = &JSite::getMenu();
print_r($menus ->_items[170]);

где 170 - параметры для идентификатора пункта меню 170, теперь есть настройка, которая называется опубликованная, и я пытаюсь добиться этого, чтобы показывать пункт меню посетителям только путем глобального задания $ menus -> _ items [170] -> опубликовано в 0 вместо 1, когда пользователь вошел в систему

но изменить это значение массива сложно, поэтому, пожалуйста, проверьте, можете ли вы изменить выходное значение с 1 на 0, используя предоставленную информацию.

Если мы сможем заставить это работать, чем фрагмент кода может быть чем-то вроде

if (! $ User-> id) { $ menus = & JSite :: getMenu (); $ menus -> _ items [170] -> set ('опубликовано', 0); }

но set () не работает для идентификаторов пунктов меню

Спасибо!

1 Ответ

0 голосов
/ 02 января 2012

Почему бы просто не установить доступ к пункту меню для зарегистрированных в параметрах меню?Тогда элемент отображается только тогда, когда пользователь вошел в систему. Это встроенное поведение в Joomla.

...