Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | |||
| de:create:functions:looppage [17.09.2019 14:01] – admin | de:create:functions:looppage [21.11.2022 20:06] (aktuell) – Workaround für setPageOrder() admin | ||
|---|---|---|---|
| Zeile 26: | Zeile 26: | ||
| **Hinweis: | **Hinweis: | ||
| - | ===== Beispiel: | + | ===== Anwendungsbeispiele ===== |
| + | |||
| + | ==== Alle Fragen einer Rubrik in zufälliger Abfolge ==== | ||
| <code php> | <code php> | ||
| Zeile 42: | Zeile 44: | ||
| - | ===== Beispiel: | + | ==== Fragen in zufälliger Abfolge präsentieren II ==== |
| <code php>// PHP-Code auf einer der ersten Seiten im Fragebogen | <code php>// PHP-Code auf einer der ersten Seiten im Fragebogen | ||
| Zeile 61: | Zeile 63: | ||
| - | ===== Beispiel: | + | ==== Fragen in zufälliger Abfolge mit Verweildauer ==== |
| **Hinweis: | **Hinweis: | ||
| Zeile 85: | Zeile 87: | ||
| question($fragen[5]); | question($fragen[5]); | ||
| </ | </ | ||
| + | |||
| + | |||
| + | ===== Workaround for Seitenabfolge ===== | ||
| + | |||
| + | Innerhalb einer Seitenabfolge, | ||
| + | |||
| + | Wenn Sie eine Seite innerhalb einer Seitenabfolge wiederholen möchten, dann legen Sie diese Wiederholung bereits in der Seitenabfolge fest. Im folgenden Beispiel wird z.B. die Seite mit der Kennung " | ||
| + | |||
| + | <code php> | ||
| + | setPageOrder([' | ||
| + | </ | ||
| + | |||
| + | Um zu ermitteln, in welcher Wiederholung sich die Seite gerade befindet, können Sie die Funktion '' | ||
| + | |||
| + | Hier könnte man einfach 3 subtrahieren. Aber wenn die Wiederholung an einer anderen Stelle im Fragebogen erscheint, können Sie mittels '' | ||
| + | |||
| + | <code php> | ||
| + | // Die aktuelle Position ermitteln | ||
| + | $pos = loopIndex(); | ||
| + | // Prüfen, ob wir die erste Position dieser Seite schon kennen | ||
| + | if (!isset($firstIndex)) { | ||
| + | $firstIndex = $pos; | ||
| + | registerVariable($firstIndex); | ||
| + | } | ||
| + | // Die Different in Variable $i speichern | ||
| + | // dies entspricht in anderen Codes dem $i = loopPage(...) | ||
| + | $i = $pos - $firstIndex; | ||
| + | </ | ||
| + | |||
| + | Sollten Sie mehrere (unterschiedliche) Seiten wiederholen, | ||