Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Раздельный доступ к разделам сайта.

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

Андрей, спасибо за подсказку. Всё работает.
198 196 2010-09-02 15:21:49 10686
Описание проекта