Вопрос/ответ с редактированием в отдельном модуле
Здравствуйте. Нужно реализовать следующее: неавторизованный пользователь на сайте оставляет отзыв и в админке, в отдельном модуле админ выбирает отправить его на публикацию или нет, а также при желании редактирует. Соответственно на странице отзывов выводятся одобренные отзывы.
Прошу подсказать модуль или решения, на базе которых можно самостоятельно осуществить подобный функционал. Если таковых нет, то сколько стоит решить мою задачу.
Прошу подсказать модуль или решения, на базе которых можно самостоятельно осуществить подобный функционал. Если таковых нет, то сколько стоит решить мою задачу.
Комментарии: 13
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Только не спрашивай, как именно — читай сразу историю изменений с первой версии.
В админке вопросы появляются в виде таблицы MIGx, как TV поле, там их можно удалять, публиковать, редактировать.
Если интересно — напишу попродробнее.
MIGx. Спасибо.
1. Настраиваем MIGx
1.1. Создаем таблицы в БД и объекты
— Ставим MIGx, как написано в документации к нему!
Я назвал этот «полукомпонент» xqa, все имена/префиксы делал с этим названием…
— Открываем MIGx в админке, и на первой вкладке создаем package xqa
— берем эту xml
и на вкладке xml schema ждем save, сохраняя ее.
— теперь создаем таблицы в БД на вкладке create Tables и создаем классы на вкладке parse Schema.
Таким образом мы получаем таблицу в БД и xpdo классы для работы с этой таблицей.
Структура моей таблицы:
1.2 Создаем MIGx настройку.
Идем в MIGx — вкладка MIGx (вторая вкладка с настройками)
Делаем новую xqa и по ней правой кнопкой — Экспорт/Импорт, вставляем следующий код:
Сохраняем и ради интереса жмем редактировать, смотрим какие поля и колонки у нас есть.
2. Делаем стандартную форму на Formit, в которой должны быть поля author, author_email, question. Как вы ее реализуете — ваши заботы.
Что важно для нас, у Formit указываем хук xQaAdd:
&hooks=`email,xQaAdd`
Хук email я тоже использую, что бы пришло администратору сайта уведомление «Добавлен новый вопрос...».
Код хука примерно такой, т.е. мы просто создаем новый объект xQa (вопрос):
3. Делаем TV поле с типом ввода migxdb, указываем Конфигурацию xqa (мы ее выше создавали), назначаем TV нужному шаблону.
У ресурса должна появится таблица:
4. Уведомление пользователя об ответе:
Создаем плагин notifyVisitors на событие OnDocFormSave:
Что делает плагин: при сохранении ресурса получаем все xQa, у которых стоит галочка «Оповестить автора об ответе», далее, например, отправляем письмо (я НЕ ПРИВОЖУ этот код, напишите его сами), ставим notify в 0.
getImageList почему-то не работает.
Использовал