Quiz. Инструкция как создать опрос

Демо
1. Создаем опрос.

Добавляем ответы к вопросам:

Настраивает результат:

Выбираем 'Контент' и нажимаем сохранить.
Если нужно вывести еще какие-то данные в конце опроса, то заполняем необходимые поля:

2. Добавляем код в чанк tpl.Quiz.result
{$_modx->runSnippet('!QuizResult', [
'quiz' => $quiz,
'tplOuter' => '@INLINE <h3>{$title}</h3><table class="table table-striped">{$wrapper}</table>',
'tpl' => '@INLINE <tr><td>{$procent}% {$question}</td><td>{$value}</td></tr>',
'tplFooter' => '@INLINE <p>Проголосовали {$total} пользователей</p>'
])}Документация сниппета QuizResult3. Выводим на сайт квиз:
{'!Quiz' | snippet: [
'id' => 1,
]}Готово!
Но, так пользователи могут голосовать неограниченно кол-во раз. А нам нужно, например, чтобы один пользователь проголосовал только один раз.
Решение:
// Фильтруем результаты по ip
{set $result = '!QuizResult' | snippet: [
'quiz' => 1,
'where' => ['ip' => $.server.REMOTE_ADDR],
]}
// Если результаты есть, значит показывает результат опроса
{if $result['total']}
{'!QuizResult' | snippet: [
'quiz' => 1,
'tplOuter' => '@INLINE <h3>{$title}</h3><table class="table table-striped">{$wrapper}</table>',
'tpl' => '@INLINE <tr><td>{$procent}% {$question}</td><td>{$value}</td></tr>',
'tplFooter' => '@INLINE <p>Проголосовали {$total} пользователей</p>'
]}
// Если результатов нет, значит пользователь еще не проголосовал и показываем ему опрос
{else}
{'!Quiz' | snippet: [
'id' => 1,
]}
{/if} Комментарии: 15
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
В мире без твоего понимания происходят много нужных вещей.
Что с тобой не так? Тебе мешает эта статья, потому что ты не понимаешь или просто, потому что я ее написал?
Если я нарушил правила форума, тут есть кому написать мне или даже удалить статью.
При рейтинге -3 заметка пропадает с главной — голосование для того и придумано.
Чем эта статья отличается, например, от этих?
modx.pro/solutions/19619
modx.pro/solutions/19339
Они тоже написаны авторами своими дополнений.
@Павел Гвоздь Паша, твоя статья похожа на мою, но тем не менее ты поставил мне минус. Просто интересно почему? Или другие поставили и я поставлю? (стадный эффект)
Ты пойми, я ничего лично к тебе негативного не испытываю. Ты начал как-то остро воспринимать мой минус. Это всего лишь моё мнение, я ведь имею право на его высказывание, пусть даже кликом по кнопке. Не нужно пытаться вывести меня на спор, я уже не тот, что был в 2015 году. =)
P.S. Я понимаю, что бомбит из-за минусов. У меня самого порой подгорает. Но мне куда неприятнее, когда мой труд просто никому не интересен и нет ни лайков, ни дизов.
P.P.S. И прав был Василий, когда говорил, что начнётся серпентарий, когда появится возможность увидеть, кто голосовал.
Этот сайт является частью самой большой MODX экосистемы в RU сегменте — modx.pro, modstore.pro и modhost.pro (хотя владельцы разные). Скорее даже самой большой в мире. Почему бы один ресурс не использовать для продвижения другого? А для удобства пользователей есть разделы. Хочешь, читай про дополнения, хочешь — про готовые решения. По моему, пост не нарушает никаких правил, ни описанных ни моральных. В отличие от поста с победными скидками. Вот там да, хочется сказать товарищу, что ошибся дверью.
Это мое мнение, которое может меняться в зависимости от настроения ))
Потому что, до сих пор я считаю, что ты его поставил не обдуманно, а просто потому что Паша и Василий поставили, давай и я поставлю, хотя написал такую же статью))
Причем здесь 2015 год? Твоя статья была написана 5 месяцев назад
Полез в исходники, а там < вместо <=, то есть рейтинг должен быть -3 и ниже.
Ну и поставил минус проверить. Заметка с главной пропала — ура, мой код работает! А верхний коммент свой потом отредактировал.
По теме: компонент классный, еще не пользовались но приглядываемся давно. С этим постом тот самый день точно приблизился, так что спасибо за скриншоты, они помогут протолкнуть идею с квизами среди коллег)))
i.imgur.com/AYGojoQ.png
i.imgur.com/5X3bSDU.png
В логах выводится следующее:
i.imgur.com/36Ycy2J.png
Обзор ошибки
Как ее исправить?