Шаблон:ZmQuiz-шапка
Перед вами документация шаблона {{ZmQuiz}} и его младших помощников.
Этот могучий шаблон позволяет вам создавать интерактивные тесты, опросники, квизы и прочее. Для его корректной работы необходимо включить гаджет zmQuiz.
В настоящее время возможна реализация трёх типов тестов.
- очки — каждому ответу на каждый вопрос ставится в соответствие некоторое количество очков. Очки за каждый ответ пользователя суммируются. В качестве возможных результатов определяется набор численных интервалов и соответствующее им описание. Тот интервал, в который попадает итоговая сумма игрока, полагается результатом прохождения теста. Таким образом можно проводить как викторины[1], так и психологические тесты.
- характеристика — каждому ответу на каждый вопрос ставится в соответствие некоторый маркер. По результатам прохождения теста определяется, ответ с каким маркером выбирал пользователь чаще всего, и демонстрируется соответствующий результат. Таким образом можно проводить тесты на определение типа личности или приверженности тем или иным взглядам[2]. Пример теста, который можно так переписать: Абсурдотека:Полякофоб ли вы?.
- квест — текстовый квест, который скорее не тест, а игра. Вопросы задаются не по порядку, а в зависимости от выбора игрока не предыдущих стадиях. Пример теста, который можно так переписать: Оценка профпригодности для участия в Абсурдопедии.
Тип теста задаётся параметром тип.
Далее, каждый тест должен содержать вопросы. Список вопросов настраивается параметром вопросы, а для формирования вопроса нужно использовать шаблон {{ZmQuiz-вопрос}}. Параметры этого шаблона:
- вопрос — отвечает за текст вопроса.
- маркер — необязательный уникальный идентификатор вопроса. В тех тестах, где все вопросы задаются подряд, маркер можно не указывать. По умолчанию устанавливается порядковый номер вопроса.
- ответi (например, ответ1, ответ2, …, ответ99, ответ100) — предлагает текст одного из вариантов ответов.
- очкиi (например, очки1, очки2, …, очки99, очки100) — определитель ответа. Для тестов типа «очки» данный параметр обязан быть числовым (может быть дробным, например, 5.9) и будет интерпретирован как число очков за данный ответ. Для тестов типа «характеристика» данный параметр — строковый и задаёт маркер ответа. Для тестов типа «квест» определяет маркер следующего вопроса (или результата).
Примеры:
- {{ZmQuiz-вопрос|вопрос=Кто подставил кролика Роджера?|ответ1=Я|очки1=7|ответ2=Не я|очки2=5}} — для тестов типа «очки»
- {{ZmQuiz-вопрос|вопрос=Кто подставил кролика Роджера?|ответ1=Я|очки1=дерзкий|ответ2=Не я|очки2=недерзкий|ответ3=Затрудняюсь ответить|очки3=мутный}} — для тестов типа «характеристика»
- {{ZmQuiz-вопрос|маркер=подвал|вопрос=Вы в подвале. Куда пойдёте?|ответ1=Налево|очки1=подвал-лево|ответ2=Направо|очки2=подвал-направо|ответ3=наверх|очки3=кухня}} — для тестов типа «квест»
Помимо вопросов, тест должен иметь некоторый результат. Результаты настраиваются с помощью параметра результаты и требуют шаблона {{zmQuiz-результаты}}. Его параметры:
- маркерi (например, маркер1, маркер2, …, маркер99, маркер100) — для тестов с очками задаёт начальную (включается) и конечную (не включается) точку очередного интервала. Представляет собой два числа, разделённые запятой. Например: 7,11. Для тестов с определением характеристики должен соответствовать самому популярному типу ответов и может быть любой строкой. Для текстовых квестов маркер должен совпадать с маркером некоторых ответов и не совпадать с маркерами вопросов.
- результатi (например, результат1, результат2, …, результат99, результат100) — текст, который будет отображаться при соответствующих результатх пользователя.
Примеры:
- {{ZmQuiz-результаты |результат1=Вы набрали [5-7) баллов | маркер1=5,7 |результат2=Вы набрали [7-8) баллов | маркер2=7,8 |результат3=Вы набрали [8-11) баллов | маркер3=8,11 }} — для тестов типа «очки».
- {{ZmQuiz-результаты |результат1=Вы дерзкий | маркер1=дерзкий |результат2=Вы недерзкий | маркер2=недерзкий |результат3=Вы постоянно отвечаете «затрудняюсь ответить» | маркер3=мутный }} — для тестов типа «характеристика».
- {{ZmQuiz-результаты |результат1=Вы вылезли из подвала на кухню | маркер1=кухня |результат2=Вы в подвале слева | маркер2=подвал-лево |результат3=Вы в подвале справа | маркер3=подвал-право }} — для тестов типа «квест».
Предыдущие параметры были обязательными, ибо без них ничего не работает. Но кроме того, есть необязательный параметр сообщения, который позволяет настроить служебные тексты. Если его не ставить, сообщения будут стандартными. Настройка выполняется с помощью шаблона {{zmQuiz-сообщения}}, который в настоящее время содержит следующий набор настраиваемых текстов:
имя параметра | значение по умолчанию | описание параметра | примечание |
---|---|---|---|
описание_квиза | Это суперкрутой тест, основанный на технологии zmQuiz | текст, который приветствует пользователя | |
кнопка_начать_квиз | Пройти тест! | текст ссылки, по нажатию на которую открывается первый вопрос | |
кнопка_повторить_квиз | Ещё разок! | после прохождения квиза и отображения результатов показывается ссылка, по нажатию на которую можно перепройти тест | |
квиз_пройден | Вы героически прошли тест! | хвалебная надпись жирным шрифтом, предшествующая результатам | |
ошибка | Это плохой, нерабочий тест, не проходите его. Ошибка: #(1) | если что-то пошло не так, отобразится данное сообщение | данное сообщение параметризуемо, и может содержать описание ошибки. Конструкция #(1) будет заменена этим текстом, то есть пользователь увидит не «Ошибка: #(1)», а, например, «Ошибка: не сработал скрипт» |
ошибка_тип | неизвестный тип теста: #(1) | описание ошибки, заключающейся в неизвестном значении параметра тип. Используется как описание ошибки для параметра «ошибка» | данное сообщение параметризуемо, и может содержать указанный неизвестный тип. Конструкция #(1) будет заменена названием типа, то есть пользователь увидит не «неизвестный тип теста: #(1)», а, например, «неизвестный тип теста: ололо» |
ошибка_результаты | не получилось обработать результаты | описание ошибки, заключающейся в том, что никакой из предопределённых результатов не соответствует итогу прохождения теста. Используется как описание ошибки для параметра «ошибка» | |
очки_результат | Ваш результат: #(1) | для тестов с типом «очки» данное сообщение предшествует результатам идемонстрирует итоговую сумму | данное сообщение параметризуемо, и может содержать набранные очки. Конструкция #(1) будет заменена итоговой суммой, то есть пользователь увидит не «Ваш результат: #(1)», а, например, «Ваш результат: 100500» |
характеристика_несколько | Вам соответствует несколько характеристик. | для тестов с типом «характеристика». Если наиболее популярными оказались несколько маркеров, результат будет выведен для каждого маркера, а предварять перечисление будет данное сообщение. |
Большой пример:
{{ZmQuiz |тип=очки |вопросы= {{ZmQuiz-вопрос |вопрос=Вы любите розы? |ответ1=Да | очки1=3 |ответ2=Нет | очки2=2 |ответ3=Затрудняюсь ответить | очки3=0 }} {{ZmQuiz-вопрос |вопрос=Кто подставил кролика Роджера? |ответ1=Я | очки1=7 |ответ2=Не я | очки2=5 }} |результаты= {{ZmQuiz-результаты |результат1=Вы набрали [5-7) баллов | маркер1=5,7 |результат2=Вы набрали [7-8) баллов | маркер2=7,8 |результат3=Вы набрали [8-11) баллов | маркер3=8,11 }} |сообщения= {{zmQuiz-сообщения |описание_квиза = Это лучший в мире квиз, готовы ли вы его пройти? |кнопка_начать_квиз = О, да, я готов! }} }}
А ниже — демонстрация данного суперквиза (красивую рамочку шаблон не добавляет, это наш креатив).
Если вы не понимаете, в чём прикол, у вас, скорее всего, отключен MediaWiki:Gadget-zmquiz.js.
Примечания
- ↑ Например: 10 вопросов, в каждом единственный правильный ответ стоит 1 очко, а все остальные — 0. Набравшим 9-10 очков сообщается, что они прекрасно разбираются в теме, за 6-8 очков участники получают похвалу, за 4-5 очков — сообщение о недостаточно высоком владении материалом, а те, кто набрал 0-3 балла, получают незачёт
- ↑ Например, в каждом вопросе четыре ответа, характерные для сангвиника, холерика, меланхолика и флегматика, причём каждый ответ помечен соответствующим маркером («сангв», «хол», «мел», «флегм»). По результатам тестирования самый популярный маркер определяет темперамент человека (если больше всего ответов с маркером «сангв», то пользователь уведомляется, что его темперамент — сангвиник).