VoteForms

Скачать VoteForms в магазине дополнений →
21 августа 2017, 18:14

Система голосования и опросов для MODX Revolution

Github
Поcледние версии

Возможности

  • конструктор форм для голосования в modx manager
  • вывод результaтов голосования с сортировкой и поиском в modx manager
  • вывод форм и результатов для голосования на сайте, обновление на лету через ajax
  • возможность привязать результаты голосования к ресурсу или любому другому объекту создав новый thread

Системные настройки

Название По умолчанию Описание
voteforms_assets_url {assets_url}components/voteforms/ Url к файлам фронтенда
voteforms_core_path {core_path}components/voteforms/ Путь к компоненту
voteforms_frontend_css [+cssUrl]]web/voteforms.css Путь к файлу со стилями. Если вы хотите использовать собственные стили - укажите путь к ним здесь, или очистите параметр и загрузите их вручную через шаблон сайта.
voteforms_frontend_js [[+jsUrl]]web/voteforms.js Путь к файлу со скриптами. Если вы хотите использовать собственные скрипты - укажите путь к ним здесь, или очистите параметр и загрузите их вручную через шаблон сайта.

Параметры вызова сниппета VoteForm

Название По умолчанию Описание
id Id формы, обязательный параметр
thread resource-[[*id]] Имя ветки для записи результатов. По умолчанию, "resource-[[*id]]"
tplRow tpl.VoteForms.row Чанк оформления для каждого поля
tplOuter tpl.VoteForms.outer Чанк оформления всего содержимого
sortby index Поле для сортировки.
sortdir ASC Направление сортировки
submit false Использовать кнопку отправить в форме

Параметры вызова сниппета getVoteFormRating

Название По умолчанию Описание
form Id формы, обязательный параметр
resource Id ресурса. По умолчанию текущий ресурс
field Id поля - вывести результаты голосования только по этому полю
thread resource-[[*id]] Имя ветки для записи результатов. По умолчанию, "resource-[[*id]]"
tpl tpl.VoteForms.rating Чанк оформления
stars true Выводить виджет с результатами голосования или нет

Способы вызова

[[VoteForm?&id=`1`]]
[[getVoteFormRating?form=1]]
[[getVoteFormRating?form=1&field=2]]

Испрользование вместе с pdoResources : сортировка ресурсов по рейтингу из формы c id 1

[[pdoResources?
    &class=`modResource`
    &parents=`0`
    &tpl=`@INLINE <li>[[+pagetitle]] - <span class="badge">[[+rating]]</span> </li>`
    &leftJoin=`{
        "VoteFormThread": {
        "class": "VoteFormThread",
        "on": "modResource.id = VoteFormThread.resource AND VoteFormThread.form = 1"
        }
    }`
    &select=`{
    "modResource": "*",
    "VoteFormThread": "rating"
    }`
    &sortby=`VoteFormThread.rating`
    &sortdir=`DESC`
]]

Плейсхолдеры доступные в чанках компонента

VoteForm - tpl.VoteForms.outer

output, rating_max, параметры вызова сниппета

VoteForm - tpl.VoteForms.row

  • поля объекта VoteFormField: id, index, form, name, description, type
  • результат голосования пользователя: record, rating_max

getVoteFormRating - tpl.VoteForms.rating

  • поля объекта VoteFormThread: id, resource, form, name, rating, users_count
  • поля объекта VoteFormForm: form.id, form.name, form.description, form.active, form.rating_max
  • при указанном параметре field:
    • поля объекта VoteFormField: field.id, field.index, field.form, field.name, field.description, field.type
    • rating и users_count рассчитываются для конкретного поля
  • виджет для голосования: stars

Разработка дополнения

О предложениях и ошибках в работе VoteForms сообщайте на Github.