|
|
31.08.2010, 12:29
|
|
sail
БизнесТелеСистемы
Зарегистрирован: 2010-03-30
Сообщений: 55
|
Привет.
Есть меню к примеру:
О компании Контакты Файлы Материалы.
И есть, так-же, пользователи, к примеру: зарегистрированные, уполномоченные и обычные.
Можно ли реализовать меню по следующему типу, мне нужно чтобы для зарегистрированных пользователей было доступно всё меню, для уполномоченных, только те пункты меню которые я задам и наконец обычные пользователи для них только определенное кол-во пунктов меню?
Заранее спасибо!
|
|
|
01.09.2010, 08:37
|
|
malich
Андрей Малков
Зарегистрирован: 2005-08-09
Сообщений: 522
|
Можно.
1. разработка -> системные таблицы -> разделы
добавляем поля "логическая переменная", обязательные для заполнения. К примеру добавим 2 поля:
- all, обязательно для заполнения, значение по умолчанию 1 (отмечено по умолчанию) - показывать раздел всем пользователям
- register, обязательно для заполнения - показывать раздел зарегистрированным пользователям
2. Проходим по настройкам разделов и выставляем нужные галочки.
3. В шаблонах вывода навигации пишем условие:
Код:$browse[unactive] = "
\".(!$AUTH_USER_ID?\"
\".(\$data[\$i][all]==1?\"<a href='%URL'>%NAME</a>\": NULL ).\"
\": NULL ).\"
\".($AUTH_USER_ID?\"
\".(\$data[\$i][register]==1?\"<a href='%URL'>%NAME</a>\": NULL ).\"
\": NULL ).\"
";
Смотрим авторизован ли пользователь, если нет выводим только с разделы в которых установлена галочка all, если пользователь авторизован выводим только разделы с галочкой register.
Точно так же у вас доступна переменная в которой хранится id группы к которой относится авторизованный пользователь, через добавление дополнительных полей в свойства разделов и дополнительные проверки в шаблоне вывода навигации настраиваем вывод меню.
|
|
|
02.09.2010, 15:21
|
|
sail
БизнесТелеСистемы
Зарегистрирован: 2010-03-30
Сообщений: 55
|
Андрей, спасибо за подсказку. Всё работает.
|