Экстеншен Poll (jk_poll) — голосование на TYPO3 сайте
Голосование на сайте — один из элементов для интерактива с посетителями. С помощью опроса вы можете просто узнать их отношение к тому или иному вопросу, либо получить «фидбек» относительно мнения по удобности сайта, его функциональным возможностям и т.п. Я как-то уже писал, что голосование в блоге это, по сути, признак живого проекта, который можно использовать как хитрость для сателлитов создавая видимость полезного сайта. Также иногда голосование создают для каких-то конкурсов дабы определить победителей и т.д. Лично я в блогах создаю опросы по тематике проектов, а после некоторого времени подвожу итоги и обсуждения соответствующих голосований. В TYPO3 для голосования использую экстеншен Poll (jk_poll).
Разумеется, это далеко не единственный модуль, позволяющий реализовать опросы на сайте, но, учитывая мой опыт работы с остальными экстеншенами, jk_poll самый «нормальный». Здесь имеется достаточная базовая функциональность для создания опросов:
- форма голосования
- результаты опроса
- возможность создания архива
- шаблоны для настройки внешнего вида голосования
Рассматривать все нюансы модуля я не буду, для этого можете почитать документацию, расскажу лишь с чем пришлось мне сталкиваться. Хотя, с другой стороны, этой информации хватит для начала с головой.
Итак, скачать модуль Poll (jk_poll) можно здесь. Устанавливаем через менеджер расширений, после чего создаем 2 дополнительные страницы и 3 элемента модуля:
1. На главной добавляем элемент модуля, для которого указываем в General Settings — What to display вариант POLL, то есть отображение формы голосования.
Здесь же нужно задать «Исходную точку«, где будут храниться записи голосования и можно также добавить путь к шаблону. Кроме того, в закладке POLL вы можете выбрать некоторые параметры для опроса.
2. На странице «Голосование» будет располагаться архив (список) опросов. Поэтому добавляем на нее модуль Poll, указывая при этом в настройках General Settings — What to display отображение списка (LIST). Опять же указываем «Исходную точку», если записи голосования находятся не на этой странице. Кроме того в закладке LIST можно отметить некоторые нужные вам параметры.
3. Создаем также подстраницу «Голосование», которая будет использоваться для отображения результатов по одному конкретно выбранному голосованию. Соответственно здесь тип элемента RESULT. Для страницы обязательно нужно выбрать «без кэша», а также можно добавить на ее ссылку на архив опросов (я делал через текстовый элемент контента дабы не копаться в шаблоне лишний раз).
В шаблон сайта Setup можно добавить несколько настроек:
plugin.tx_jkpoll_pi1 { template = fileadmin/templates/jk_poll_all.tmpl color = orange cookie_domainpath = 1 cookie = 30 custom_submit = <input type="image" src="{$templatepath}/css/vote-act.png" /> } |
Вообще больше настроек найдете в документации, здесь же используется несколько интересных особенностей:
- во-первых, custom_submit позволяет заменить стандартную кнопку Submit на нужный вам по верстке элемент формы, например картинку.
- во-вторых, color задает цвет заливки шкалы голосования. Причем, в данном случае значение «orange» мое собственное (не стандартное). Для его добавления нужно создать GIF файл 1х1 пикселей с нужным цветом, назвать соответствующим образом (orange.gif) и залить в директорию плагина на фтп — typo3conf/ext/jk_poll/images.
Файл шаблона найдете по адресу typo3conf/ext/jk_poll/res/jk_poll.tmpl, можно скопировать его на локальный компьютер и изменить как считаете нужным, после чего загрузить в директорию шаблонов и вызывать из Setup, как показано выше. Следует также заметить, что по умолчанию имеются некоторые проблемы с локализацией, русские переводы в файле typo3conf/ext/jk_poll/pi1/locallang.xml записаны в неправильной кодировке, поэтому их придется подправить.
В целом экстеншен Poll (jk_poll) вполне хорошо подходит для голосования, обладает достаточным набором функций и гибок в настройке. Если знаете еще какие-то хорошие модули, а также имеете положительный опыт работы с ними — пишите.