Компонент "Опросы" для InstantCMS 2.x

22 апреля 2015 - Feodor
Приветствую любителей InstantCMS! После реализации закладок (для которых думаю немного допилить функционал) встала необходимость расширить типы контента возможностью добавления пользовательских опросов.



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

Установка компонента стандартна для InstantCMS 2.x в автоматическом или ручном режиме.

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

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


Поле выводит менеджер опросов для текущей (или вновь создаваемой) записи типа контента.

В рамках интуитивно-понятного интерфейса не трудно догадаться куда следует нажать чтобы добавить опрос к текущей записи типа контента =).
Кликаем на пимпу "Добавить" и перед нами появляется форма редактирования опроса:



На форме мы можем лицезреть следующие поля:

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

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

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

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

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

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

С помощью параметров виджета "Случайный опрос" - "Категория" и "Набор" можно достаточно гибко настроить вывод желаемых опросов.
Еще, на заметку сайтоделам, возможен следующий use case:

- создаем отдельный тип контента, например polls;
- устанавливаем права на запись для него только администраторам;
- скрываем от пользователей;
- и заносим в него записи с опросами (при желании можно даже разделять записи тематически, озаглавливать их соответственно и добавлять в одну запись список опросов соответствующей тематики);
- выводим виджет/виджеты с настройками на наш тип контента;
- в свободное время изучаем результаты голосования, "перелистывая" записи.

Более подробную документацию можно изучить здесь.
Демо компонента смотрим здесь http://icms-demo.e3w.ru/posts/6-demo-post-testirovanija-komponenta-oprosy.html
login: user1@demo.ru, user2@demo.ru, user3@demo.ru и т.д. до user20@demo.ru
password: 123456
кто не успеет воспользоваться одним из демо-пользователей чтобы протестировать голосование, может зарегать нового или попробовать создать новый опрос при публикации нового поста в блоге (прошу вас только соблюдать приличие)) ).

Т.к. предыдущие мои работы не принесли, в физическом плане, практически ничего (отдельное СПАСИБО прекрасной девушке Алёне), этот компонент будет платный

- цена 400 руб. Думаю достаточно для "спасибо" и не слишком "кусается". Перечисленные средства помогают мне поддерживать актуальное состояние текущих дополнений и разрабатывать новые. Спасибо за понимание.

Как приобрести компонент Опросы
Производите оплату на один из указанных ниже реквизитов. В примечании указываете ваш адрес электронной почты и доменное имя сайта где предполагается использование компонента (кириллические домены нужно указывать в формате punycode).

Вечером с 19:00 мск (к сожалению днем у меня нет возможности оперативно реагировать на запросы приобретения компонента) на указанный вами адрес электронной почты будет выслан установочный пакет и лицензионный ключ. Ключ нужно будет ввести после установки компонента в его опциях. Ключ уникален для каждого домена и даёт право использовать "Опросы" только на том домене, который Вы укажете при оформлении заказа.

Реквизиты
WebMoney: R396646181623
Яндекс.Деньги: 410011791189695
(также возможны другие способы оплаты, обращайтесь в личку).


Instantcms.ru


Похожие статьи:

Новости разработчиковАнонс модуля "Поощрение пользователей"

Новости разработчиковМодуль аккардион статей

Новости разработчиковЗагрузка расширений через админку

Новости разработчиковЗаменяем название компонента, url и т.д. на примере FAQ

Новости разработчиковКомпонент Сервис Ёлок ver.1.1

Рейтинг: 0 Голосов: 0 664 просмотра
Комментарии (0)

Нет комментариев. Ваш будет первым!