права на просмотр блока

права на просмотр блока

от Pavel Chervov -
Количество ответов: 3

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

Захожу под студентом и блока не вижу, пытаюсь зайти на него в адресной строке - нет прав на просмотр.

Задал локальные права на просмотр блока (в настройках самого блока) конкретному студенту - не помогает.

Каким образом добиться его отображения для определенной роли?

Спасибо!

В ответ на Pavel Chervov

Re: права на просмотр блока

от Vadim Dvorovenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода

с блоками всё просто - если блок возвращает пустое содержимое. он не отображается. Вы проверяете функцией have_capability  нужное право и соответственно выводите или не выводите информацию.

Право нужно давать либо в контексте блока, либо на уровне того, где блок располагается. Если вы располагаете блок на главной странице, то и роль студента нужно дать на главной странице. Если в курсе - то на уровне курса. 

В ответ на Vadim Dvorovenko

Re: права на просмотр блока

от Pavel Chervov -

Vadim, спасибо, тогда, подскажите еще пожалуйста, если у меня на главной странице роль для всех задана как авторизованый юзер, а блок должны видеть только студенты, как тогда быть?

Как я понимаю ничего не поделать, надо либо всем роль студента давать либо блок будет виден всем.. =(

Спасибо!

В ответ на Pavel Chervov

Re: права на просмотр блока

от Vadim Dvorovenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода

В том-то и проблема. В одном курсе пользователь может быть преподавателем, а в другом студентом. Как решить, показывать ему блок или нет? На главной странице можно только отличить гостей сайта от негостей.

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