Skip to content
  1. Компоненты
  2. VoteForms

VoteForms

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

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

Возможности

  • конструктор форм для голосования в modx manager
  • вывод результатов голосования с сортировкой и поиском в 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

НазваниеПо умолчаниюОписание
idId формы, обязательный параметр
threadresource-[[*id]]Имя ветки для записи результатов. По умолчанию, resource-[[*id]]
tplRowtpl.VoteForms.rowЧанк оформления для каждого поля
tplOutertpl.VoteForms.outerЧанк оформления всего содержимого
sortbyindexПоле для сортировки.
sortdirASCНаправление сортировки
submitfalseИспользовать кнопку отправить в форме

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

НазваниеПо умолчаниюОписание
formId формы, обязательный параметр
resourceId ресурса. По умолчанию текущий ресурс
fieldId поля - вывести результаты голосования только по этому полю
threadresource-[[*id]]Имя ветки для записи результатов. По умолчанию, resource-[[*id]]
tpltpl.VoteForms.ratingЧанк оформления
starstrueВыводить виджет с результатами голосования или нет

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

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

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

modx
[[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.