Как создать Викторину в Modx - PullRequest
0 голосов
/ 11 июня 2018

Я новичок в modx , и мне нужно создать multipage викторина на моем сайте.Любое предложение будет полезным.

1 Ответ

0 голосов
/ 20 июня 2018

Хотя для этого есть несколько способов, комбинация из FormIt и FormItRetriever дополнений может быть именно тем, что вам нужно.FormIt управляет обработкой ваших форм викторины, которая включает в себя сохранение данных в кеше или в базе данных в виде объекта JSON.И, как следует из названия, FormItRetriever позволяет вам извлекать ранее сохраненные данные формы на следующей странице.

Вот краткий пример, адаптированный из документов FormIt:

Page 1

[[!FormIt?
 &submitVar=`go`
 &hooks=`spam,redirect`
 &store=`1`
 &redirectTo=`id-of-next-page`
]]
<form action="[[~[[*id]]]]" method="post">
    <input type="hidden" name="nospam" value="" />
    <label for="qzq1">Quiz question 1: [[!+fi.error.qzq1]]</label>
    <input type="text" name="qzq1:required" id="qzq1" value="[[!+fi.qzq1]]" />
    <label for="qzq2">Quiz question 2: [[!+fi.error.qzq2]]</label>
    <input type="text" name="qzq2:required" id="qzq2" value="[[!+fi.qzq2]]" />
    <label for="qzq3">Quiz question 3: [[!+fi.error.qzq3]]</label>
    <textarea name="qzq3:stripTags" id="qzq3" cols="55" rows="7">[[!+fi.qzq3]]</textarea>
    <br />
    <input type="submit" name="go" value="Next" />
</form>

Свойство & store сообщает FormItсохраните данные в кеше для извлечения, используя фрагмент FormItRetriever.

Свойство & redirectTo является идентификатором вашей следующей страницы.FormIt будет использовать переадресацию перенаправления, указанную в свойстве & hooks , для перенаправления пользователя при отправке этой формы.

Page 2:

[[!FormItRetriever]]

[[!FormIt?
 &submitVar=`go`
 &hooks=`spam,redirect`
 &store=`1`
 &redirectTo=`id-of-third-page`
]]

/* Page 2 quiz form goes here */

Фрагмент FormItRetriever позволит вам отобразить ранее сохраненные данные формы с заполнителями, относящимися к именам полей вашей формы => [! + Fi.qzq1]]

Чтобы сохранить данные формы теста набазу данных, вы можете использовать FormItSaveForm .Это позволяет позже просматривать данные на странице Custom Manager (CMP) и экспортировать их, если это необходимо.

Более подробные примеры использования см. В официальных документах: https://docs.modx.com/extras/revo/formit

...