Вывод формы для голосования (опроса) с одним или несколькими вариантами ответов.
Данная подстановка формирует набор полей ввода (чекбоксов или радиокнопок) согласно настройкам опроса, которые управляются через админзону. Данный макрос никогда не используется напрямую в странице сайта, а вставляется в форму, которая, вставляется в страницу через $Form[]$. Поэтому в дизайне опроса (файл poll_design.xml) не пишутся тэги form, они вставляются в шаблон формы. Другими словами, макрос $Poll[]$ формирует не всю форму опроса, а только её часть.
Таблица, куда сохраняются результаты голосований, определяется в макросе $Form[]$ (см. примеры ниже). Данная таблица будет отличаться от других таблиц, наполняемых через $Form[]$ тем, что каждая её запись будет соответствовать только одному варианту ответа на опрос (и в обратную сторону, отношение "один к одному"). А в автоматически генерируемом поле votes будет накапливаться число респондентов, выбравших этот вариант ответа.
Ключ filter, как правило, имеет вид status=on, datestart<=$DateTime[]$, datefinish>=$DateTime[]$. В данном примере первый фильтр разрешит к показу только опубликованные опросы, а два следующих отфильтруют опросы, которые не проводятся на текущую дату.
Из итоговой выборки для вывода на страницу будет взят только один опрос, поэтому оператор сам должен заботиться о том, как организовать даты опросов непересекающимся образом. Также, для выборки можно использовать идентификатор голосования или управлять показом опросов только с помощью признака "опубликовано".
Пример №1, типовое применение
Содержимое страницы с опросом
$Form[html: PollForm; redirect_after: poll-done; redirect_params: yes; savetodb: polls_answers]$
Содержимое файла Templates/PollForm.html с формой опроса
<FORM action="" method=post>
$Poll[design: main; filter:datestart<=$DateTime[]$, datefinish>=$DateTime[]$]$
<INPUT type=submit value=отправить>
</FORM>