Регистрация
Вход через соцсети
Восстановление пароля

Закрыть раздел для просмотра для определенной группы

Новый топик
04.03.2010, 09:21
Ответить | Цитировать
Иван

Зарегистрирован:
2009-08-24
Сообщений: 8

Здравствуйте.

У меня есть две группы пользователей. Я хочу сделать одной из них недоступным определенный раздел на сайте. Причем сделать так, чтобы в меню данный раздел для ограниченный группы тоже не отображался. Для данной группы я назначил права на данный раздел, не отметив ни одну из допустимых операций (просмотр, модерирование и т.д.), но при этом пользователи их этой группы все равно видят данный раздел меню и могут туда зайти и посмотреть его содержимое.

КАк быть?

Спасибо.
04.03.2010, 10:00
Ответить | Цитировать
Иван

Зарегистрирован:
2009-08-24
Сообщений: 8

Вопрос с ограничением решил: надо было в разделе выбрать в настройках доступа пункт "уполномоченные". Сохранилась необходимость в помощи с меню.

Спасибо.
04.03.2010, 10:03
Ответить | Цитировать
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

в шаблоне вывода разделов надо дописать условие типа:
Код:

$browse_sub[unactive] = "".($AUTH_USER_GROUP==111?null:"<a href='%URL'>%NAME</a>")."";

где 111 - это ИД группы, для которой надо скрыть раздел
элементы массива: active, active_link - по аналогии


Temet nosce...
04.03.2010, 10:16
Ответить | Цитировать
Иван

Зарегистрирован:
2009-08-24
Сообщений: 8

Понял. ТО есть этот вопрос решать на уровне шаблона вывода. Думал, что в архитектуре системы уже это как то фиксируется.
04.03.2010, 10:53
Ответить | Цитировать
Иван

Зарегистрирован:
2009-08-24
Сообщений: 8

Увы не работает.
04.03.2010, 11:33
Ответить | Цитировать
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

я на вскидку писал, не тестил..

вот так работать должно:
Код:
$browse_sub[unactive] = "".($GLOBALS['AUTH_USER_GROUP']==111?null:"<a href='%URL'>%NAME</a>")."";


как вариант еще и так:
Код:
$browse_sub[unactive] = $AUTH_USER_GROUP==111?null:"<a href='%URL'>%NAME</a>";


Temet nosce...
05.03.2010, 11:37
Ответить | Цитировать
Гость
Гость

Работает за одним маленьким исключением: В данном случае мы скрываем все подразделы раздела, доступ к которому у нас ограничен. А если какой то из подразделов доступен?
05.03.2010, 16:16
Ответить | Цитировать
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

Я вам показал в качестве примера то, как в шаблоны вывода навигации вставлять условный оператор и проверять условие принадлежности к группе.

Для вашего уточнения - надо доработать это условие, добавив проверку на наличие открытых подразделов. Можно отдельную ф-ию написать и вызывать ее из шаблона вывода, можно прям в шаблон вывода sql-запрос вписать и обрабатывать его результат - куча вариантов.

У меня нет интереса над тем, чтобы составлять этот запрос, отлаживать и выдавать вам готовое работающее решение... Пробуйте сами, если что не заработает, то выкладывайте свой код - я подскажу что не так.

Temet nosce...
198 196 2010-03-05 16:16:02 7876
Описание проекта