Форум русской поддержки Joomla!® CMS
28.07.2017, 21:02:22 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Основной курс по Joomla
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Организация доступа пользователей к контенту кастомного компонента

 (Прочитано 67 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Inoken
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 29


« : 14.06.2017, 21:28:18 »

Здравствуйте. Делаю первые шаги в Joomla, разрабатыва компонент и мне необходимо ограничить доступ пользователей к его контенту. В админке компонента, в форме создания элемента контента, присутствует поле типа accesslevel - список select с уровнями доступа.

Его опции таковы:
Код:
<option value="1">Public</option>
<option value="5">Guest</option>
<option value="2">Registered</option>
<option value="4">Customer Access Level (Example)</option>
<option value="3">Special</option>
<option value="6">Super Users</option>

Сам механизм проверки уровня доступа я представляю себе следующим образом: сравнить значение уровня доступа, заданное при создании/редактировании элемента контента, со значением уровня доступа для текущего пользователя из класса JUser. Экспериментируя с настройками уровней доступа пользователя в админке Joomla, и просматривая изменения в распечатке объекта посредством print_r во фронт-энде, среди свойств объекта JUser я нашел свойство _authLevels с наиболее похожими значениями на значения из приведенного выше списка. Но проблема в том, что оно protected и никаких значений я увидеть не могу. Подскажите, пожалуйств, как мнеправильно реализовать эту проверку?
Записан
Septdir
Практически профи
*******

Репутация: +98/-3
Offline Offline

Пол: Мужской
Сообщений: 2010


Skype: septdir


« Ответ #1 : 14.06.2017, 21:32:41 »

Зайдите в модель com_content так будет проще всего объяснить
Записан
robert
Профи
********

Репутация: +380/-14
Offline Offline

Пол: Мужской
Сообщений: 4167


« Ответ #2 : 14.06.2017, 22:01:56 »

Но проблема в том, что оно protected и никаких значений я увидеть не могу.
Для этого существует метод getAuthorisedViewLevels().
Зайдите в модель com_content так будет проще всего объяснить
Да, смотрите в ContentModelArticles().
Записан
Septdir
Практически профи
*******

Репутация: +98/-3
Offline Offline

Пол: Мужской
Сообщений: 2010


Skype: septdir


« Ответ #3 : 14.06.2017, 22:19:15 »

Да вот под рукой попалось
Код
$query->where($db->quoteName('access').' IN '.'('.implode(',', JFactory::getUser()->getAuthorisedViewLevels()).')');
Записан
Inoken
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 29


« Ответ #4 : 15.06.2017, 11:05:40 »

ок, спасибо вам за инфу, буду разбираться.
« Последнее редактирование: 15.06.2017, 11:20:34 от Inoken » Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet