Блок "Форма голосования"

Блок предназначен для вывода формы голосования от соответствующего раздела голосования. Если посетитель уже голосовал, позволяет выводить текущие результаты.

Свойства

  • Входит в базовый дистрибутив: Да
  • Многократное использование: Да
  • Кэширование данных: Нет
  • Сопутствует модулю: "Голосование"

Создание блока

Для создания блока нужно перейти к управлению блоками в «Сайт» → «Блоки» и добавить новый блок, выбрав при этом в качестве базового типа «Форма голосования».

blockvoting.jpg

Параметры

Название Идентификатор Описание
Раздел idsec Раздел-источник.
Шаблон template Шаблон блока, по умолчанию voting.tpl.

Данные доступные в шаблоне (voting.tpl)

Шаблон содержит форму, которая должна быть направлена на соответствующий раздел, или текущие результаты, если посетитель уже проголосовал.

$active

Логическое значение, истина, если в данный момент проводится голосование.

$question

Строка вопроса.

$datebegin

Дата начала голосования в формате UTC.

$dateend

Дата окончания голосования в формате UTC.

$isvoting

Логическое значение, истина, если посетитель уже проголосовал.

$variants

Список записей с данными о вариантах ответа. Каждая запись состоит из ключей:

id

Числовой идентификатор.

name

Текст ответа.

count

Количество голосов у варианта.

pr

Доля голосов от общего количества ответивших в процентах.

$allcount

Общее количество голосов.

Пример шаблона

{if $active} {* Если проводится голосование. *}
    {if $isvoting} {* Если пользователь уже голосовал, вывод текущих результатов. *}
        <p>{$question}</p>
        <table>
            {section name=i loop=$variants}
                <tr>
                    <td nowrap>{$variants[i].name}</td>
                    <td>
                        {if $variants[i].count>0}
                            <img src="/modules/voting/images/{$smarty.section.i.index%6}.gif" height="10" width="{$variants[i].pr/2}">
                            {$variants[i].pr}% ({$variants[i].count})
                        {/if}
                    </td>
                </tr>
            {/section}
        </table>
    {else} {* Если пользователь не голосовал, вывод формы. *}
        <p>{$question}</p>
        <form action="{$sectionlink}" method="post">
            {section name=i loop=$variants}
                <input type="radio" name="id" value="{$variants[i].id}">{$variants[i].name}<br>
            {/section}
            <input type="hidden" name="action" value="addvote">
            <input type="submit" value="Голосовать">
        </form>
    {/if}
{/if}
 
blocks/voting.txt · Последние изменения: 14.02.2018 12:43 (внешнее изменение)