Разграничение прав пользователей для системы Вопрос-Ответ 1С Битрикс. (часть 3)

3514
4

Перед тем как определить группы пользователей и пользователей, необходимо спланировать структуру папок и файлов системы. Быстрее и нагляднее это будет сделать по скриншотам. В этой статье даны краткие пояснения о планируемой структуре и группах пользователей.

Определение будущей файловой структуры системы «Вопрос-ответ»

Перед тем как определить группы пользователей и пользователей, необходимо спланировать структуру папок и файлов системы. Быстрее и нагляднее это будет сделать по скриншотам.

Структура разделов системы Вопрос-Ответ на Битриксе
Структура разделов системы Вопрос-Ответ

Вот так выглядит структура разделов в Структуре Сайта в админке Битрикса. Вы вправе самостоятельно назначить видимые наименования папок.

Структура папок и файлов системы Вопрос-ответ
Структура папок и файлов системы Вопрос-ответ

Те же яица вид сбоку, однако у папок указаны и реальные названия(использующиеся файловой системой)

Реальная файловая структура системы Вопрос-ответ
Реальная файловая структура системы Вопрос-ответ

Без комментариев, тут и так все понятно.

Теперь подробнее разберем для чего и какая попка предназначена. В моем случае я разместил систему Вопрос-Ответ в разделе «Контакты», таким образом абсолютный путь получился http://www.вашсайт.ру/contacts/qa/.

В каталоге qa(Вопрос-Ответ) для посетителя будет выводится список вопросов на которые уже были ответы. Для модератора и администратора будут выводится список всех вопросов, в том числе с ответами и без них. Так же в этом каталоге создадим файл config.php с параметрами, которые могут меняться, например параметр ID групп.

В каталоге add_question(Задать свой вопрос) размещается созданная ранее веб-форма (Про создание веб-формы можете прочитать в Часть 2 статьи). Доступ в этот раздел будут иметь любый пользователи любых групп.

В каталоге successful_dispatch(Успешная отправка) будет размещен файл выводящий сообщение об успешной отправке вопроса(файл index.php).

В каталог admin(Ответ) будет передаваться id необходимого для редактирования результата заполнения веб-формы. Таким образом в этом каталоге будет размещена форма редактирования ответа, а доступ в нее определим чуть позже.

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

Определение пользователей и групп для ввода ответов на вопросы посетителей и модерации системы «Вопрос-ответ»

На данном этапе мы определим кто сможет отвечать на вопросы посетителей и какими правами будет обладать тот или иной пользователь. Для начала я создал в административной панели Битрикс дополнительную группу пользователей с названием «Редакторы ответов системы Вопрос-Ответ». Данная группа имеет абсолютно такие же права доступа как и обычный посетитель, отличие состоит лишь в том что id(идентификатор группы пользователей) группы не равен нулю(для обычных посетителей id=0) а имеет определенный номер. В моем примере группа «Редакторы ответов системы Вопрос-Ответ» имеет идентификатор = 11, группа «Администратор» имеют id = 1. Идентификаторы групп Вы можете посмотреть в разделе Настройка — Группы пользователей.

Пользователь принадлежащий группе  «Редакторы ответов системы Вопрос-Ответ»  будет видеть все экземпляры результатов заполнения веб-формы. Так же пользователи этой группы смогут переходить по ссылке из почтового шаблона, которая имеет вид:

Эта ссылка веден непосредственно к редактированию ответа на вопрос. Таким образом модератор будет переходить по ссылке, которую получил в письме с сайта, вводить пароль для доступа к редактированию ответа и заполнять форму ответа.

Доступ к папке admin необходимо открыть двум группам пользователей: Администраторам(в моем случае id=1) и Редакторы ответов системы Вопрос-Ответ(в моем случае id=11). Делается это из меню Контент — Структура Сайта — закладка Доступ соответствующего раздела(admin)
Было так задумано, что группа Редакторы ответов системы Вопрос-Ответ сможет размещать ответ на заданный посетителем вопрос лишь один раз, причем если попытаться открыть страницу с формой ввода ответа второй раз то систему выдаст сообщение о том что ответ на вопрос уже дан. Таким образом мы обезопасимся от того, что модератор ответов будет изменять ответы через какое то время.

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

После создания группы пользователей, необходимо создать пользователя и сделать его участником группы «Редакторы ответов системы Вопрос-Ответ»(в моем случае это editor).
Теперь остается дело за малым — написать код и создать необходимые страницы index.php в соответствующих разделах сайта.

Начало: Система «Вопрос-Ответ» на основе модуля «Веб-формы» CMS 1C-Bitrix»

4 КОММЕНТАРИИ

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

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here