Опросы

Компонент для InstantCMS 2.x

  • Рейтинг: 4.7
  • Просмотры: 29872
  • Подписчики: 46
  • Добавлен: 22.06.2015

Основная идея функционала компонента взята на сайте habrahabr.ru. Пользователи сайта при публикации своих статей могут добавлять к ним один или несколько опросов. Эта функция пользуется достаточной популярностью и позволяет получать фидбек от сообщества портала.

После успешной инсталляции компонента в системе появятся 3 новых «модуля» — компонент Опросы в разделе компонентов, поле Опросы и 2 виджета. Чтобы расширить функционал какого-либо типа контента и позволить пользователям устраивать опросы в рамках данного типа контента, необходимо добавить поле «Опросы».

Рассмотрим пример на основе типа контента блог с записями постами (posts):

Всё достаточно просто. Заходим в Панель управленияТипы контента. Выбираем тип контента "Посты" и перемещаемся в настройки полей. Далее жмём "Создать поле" и указываем тип нового поля "Опросы". Остальные параметры поля настраиваем по вкусу )). Также можно установить положение поля внутри записи относительно других полей — это позволит позиционировать опросы в теле типа контента в соответствиями с вашими требованиями.

Завершив настройку нужного нам типа контента компонент Опросы готов к работе! Теперь при добавлении новой записи или редактировании существующей мы можем наблюдать добавленное нами поле.

Поле выводит менеджер опросов для текущей (или вновь создаваемой) записи типа контента. Кликаем на пимпу "Добавить" и перед нами появляется форма редактирования опроса. На форме мы можем увидеть следующие поля:

"Вопрос" — сюда необходимо написать вопрос, который будет содержать в себе тему самого опроса =);

"Можно голосовать за несколько вариантов" — при установке галочки в это поле, пользователи смогут выбрать несколько вариантов ответов, а не только один единственный. Максимально возможное количество вариантов выбора прописывается в поле "Максимальное количество вариантов".
"Установить дату окончания опроса" — если мы желаем ограничить голосование во времени, то устанавливаем галочку и в открывшемся поле "Дата завершения" указываем какого числа опрос перестанет принимать ответы. Пользователи будут видеть только результаты опроса. Указанная дата будет последним днем включительно (до 23:59:59 в зависимости от настроек сервера, реальное время может незначительно отличаться), когда можно будет проголосовать.
"Варианты ответов" — это группа полей где необходимо вписать возможные варианты ответов на указанный вопрос выше. По умолчанию отображается 2 поля для ответов, но их количество легко увеличить нажатием кнопки "Добавить ответ" или нажатием комбинации клавиш "Ctrl+Enter".
Если количество ответов больше двух, справа от поля появляются кнопки удаления, а слева «держатель» перемещения конкретного варианта ответа. Таким образом, можно достаточно легко настроить последовательность ответов и удалить лишние или ошибочные варианты.
По завершению редактирования опроса, необходимо нажать кнопку "Добавить" внизу формы.


Необходимо заполнить поле «Вопрос» и минимум 2 варианта ответа на него, остальные поля заполняются пользователем по желанию.

После создания нового опроса в менеджере опросов добавляется строка с заголовком опроса и кнопками редактирования и удаления текущего опроса. Таким образом, пользователь может добавить необходимое количество опросов в создаваемую им запись и отредактировать каждый опрос в отдельности. Однако, после публикации записи, включающей опросы, на сайте редактирование текста вопроса и вариантов ответов ограничено! Но все ещё остается возможность изменения времени голосования опроса и добавление новых опросов.

Следует отметить, что при создании и редактировании записи типа контента может возникнуть ситуация, когда пользователь добавил некоторое количество опросов, но затем не сохранил запись (нажатием кнопки Сохранить в меню действий справа или такой же кнопки внизу записи). При этом созданные опросы сохраняются в базе данных и выводятся пользователю при следующем добавлении или редактировании записи в этом типе контента.

Вывод опроса/опросов в теле записи происходит в том месте куда было установлено поле «Опросы». Голосование происходит стандартным способом: нужно выбрать желаемый вариант ответа из предложенных и нажать на кнопку "Голосовать". Также есть возможность посмотреть на результаты опроса без голосования, для этого нужно нажать "Воздержаться" (нажатие «Голосовать» без выбора ни одного варианта ответа, равносильно нажатию кнопки «Воздержаться»). Результаты опроса выводятся в виде линейной диаграммы с указанием количества проголосовавших людей и их процентным отношением. Для упорядочивания вариантов ответов по количеству набравших голосов можно воспользоваться кнопкой-переключателем внизу блока голосования.

Виджеты

В комплекте с компонентом есть 3 виджета: "Виджет опроса" — позволяет вывести один конкретно-указанный опрос, "Новые опросы" — отображает последние добавленные в систему опросы и "Случайный опрос" — показывает один случайно-выбранный опрос из списка всех опросов определенного типа контента. Виджеты могут устанавливаться в специально отведенные места на сайте, как любой стандартный виджет InstantCMS 2.x.

С помощью параметров виджета «Случайный опрос» — "Категория" и "Набор" можно достаточно гибко настроить вывод желаемых опросов.

Более подробную документацию можно изучить здесь.

Для тестирования компонента на демосайте можно воспользоваться аккаунтом демо-пользователя (логин: demo@demo.ru, пароль: 123456) или пройти быструю процедуру регистрации с удобными для вас данными.


Обсуждения компонента


UPD Добавлена возможность голосования гостям (незарегистрированным посетителям) сайта

UPD2 Обновлена админка компонента, добавлена лента опросов и другие изменения (см. описание изменений в истории версий)

Видео Демо
Купить
1000 руб.