[[Rotation]]
 

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
de:create:rotation [07.05.2019 14:22] – [Systematische Rotation] adminde:create:rotation [15.01.2020 13:24] admin
Zeile 21: Zeile 21:
  
  
-===== Rotation der Items oder Optionen einer Frage =====+===== Rotation der Items oder Optionen =====
  
-Die Randomisierung oder Rotation von Items in einer Frage wird wie folgt aktiviert: Die Frage im **Fragenkatalog** öffnen und entweder im ersten Karteireiter oder bei den //Einstellungen für die Items der Frage// bei der Einstellung //Reihenfolge Auswahloptionen// die Option "Zufällig rotieren/mischen" auswählenDie Randomisierung wird nach dem Speichern der Frage sofort in der Vorschau aktiviert.+==== Rotation in einer Frage ==== 
 + 
 +Die Randomisierung oder Rotation von Items in einer Frage wird wie folgt aktiviert: 
 + 
 +  * Öffnen Sie die Frage im **Fragenkatalog** 
 +  * Im Abschnitt //Auswahloptionen// bzw. //Items// wählen Sie den Karteireiter //Einstellungen//
 +  * Bei der Einstellung //Reihenfolge// wählen Sie die Option "Zufällig rotieren/mischen". 
 +  * Speichern Sie die Fragein der Vorschau können Sie anschließend die Randomisierung prüfen.
  
 Falls einzelne Items (z.B. ein "Sonstiges" mit Texteingabe) von der Rotation ausgenommen werden sollen, öffnen Sie dieses Item im **Fragenkatalog** oder mit dem {{:button.edit.gif?nolink|Bearbeiten}}-Symbol und aktiviert die Option //Dieses Item beim Mischen der Items ausnehmen//. Falls einzelne Items (z.B. ein "Sonstiges" mit Texteingabe) von der Rotation ausgenommen werden sollen, öffnen Sie dieses Item im **Fragenkatalog** oder mit dem {{:button.edit.gif?nolink|Bearbeiten}}-Symbol und aktiviert die Option //Dieses Item beim Mischen der Items ausnehmen//.
Zeile 32: Zeile 39:
  
  
-===== Manuelle Rotation von Items oder Optionen =====+==== Manuelle Rotation von Items oder Optionen ====
  
 Sie können die Items bzw. Optionen einer Frage auch mittels PHP-Code rotieren. Dazu wird zunächst mittels ''[[:de:create:functions:getitems]]'' eine Liste der Items/Optionen abgerufen, dann per ''shuffle()'' gemischt und schließlich wird die Frage mittels ''[[:de:create:functions:question]]'' mit der gewünschten Item-Abfolge als Parameter angezeigt. Sie können die Items bzw. Optionen einer Frage auch mittels PHP-Code rotieren. Dazu wird zunächst mittels ''[[:de:create:functions:getitems]]'' eine Liste der Items/Optionen abgerufen, dann per ''shuffle()'' gemischt und schließlich wird die Frage mittels ''[[:de:create:functions:question]]'' mit der gewünschten Item-Abfolge als Parameter angezeigt.
Zeile 58: Zeile 65:
  
  
-===== Parallele Rotation von zwei Fragen =====+==== Parallele Rotation von Items in zwei Fragen ====
  
 Mit der manuellen Rotation (s. oben) können Sie in zwei oder mehr Fragen dieselbe rotierte Item-Abfolge verwenden. Falls die Fragen auf unterschiedlichen Seiten stehen, verwenden Sie auch hierfür ''[[:de:create:functions:registervariable]]'' -- genau wie im Beispiel oben -- um die Abfolge für weitere PHP-Code-Elemente verfügbar zu machen. Mit der manuellen Rotation (s. oben) können Sie in zwei oder mehr Fragen dieselbe rotierte Item-Abfolge verwenden. Falls die Fragen auf unterschiedlichen Seiten stehen, verwenden Sie auch hierfür ''[[:de:create:functions:registervariable]]'' -- genau wie im Beispiel oben -- um die Abfolge für weitere PHP-Code-Elemente verfügbar zu machen.
Zeile 78: Zeile 85:
  
  
-===== Rotation von Items über mehrere Seiten =====+==== Rotation von Items über mehrere Seiten ====
  
 Falls Sie in einer Frage sehr viele Items haben, möchten Sie diese vielleicht auf mehrere Seiten verteilen. Normalerweise würden Sie das erledigen, indem Sie die Frage beim **Fragebogen zusammenstellen** mehrfach einfügen und jeweils bei den Anzeige-Einstellungen ({{:button.settings.png?nolink|Anzeige-Einstellungen}}-Knopf) unterschiedliche Items angeben, z.B. "1-10", "11-20", etc. Falls Sie in einer Frage sehr viele Items haben, möchten Sie diese vielleicht auf mehrere Seiten verteilen. Normalerweise würden Sie das erledigen, indem Sie die Frage beim **Fragebogen zusammenstellen** mehrfach einfügen und jeweils bei den Anzeige-Einstellungen ({{:button.settings.png?nolink|Anzeige-Einstellungen}}-Knopf) unterschiedliche Items angeben, z.B. "1-10", "11-20", etc.
Zeile 120: Zeile 127:
  
  
-===== Rotation mehrerer Fragen =====+===== Rotation von Fragen =====
  
-In seltenen Fällen sollen nicht nur die Items einer Frage rotiert werden, sondern gleich die Fragen. Dies erfordert ein wenig Programmierung mittels [[php|PHP-Code]].+Im nachfolgenden wir erklärt, wie nicht nur die Items einer Frage rotiert werden, sondern wie die Reihenfolge ganzer Fragen rotiert wird. Dies erfordert ein wenig Programmierung mittels [[php|PHP-Code]]. 
 + 
 +**Wichtig:** Der PHP-Code wird auf einer eigenen Seite unter "Fragebogen zusammenstellen" eingefügt. Die Fragen, die rotiert werden sollen, sind im **Fragen-Katalog** angelegt, sie werden aber -- anders als andere Fragen -- __nicht__ beim Fragebogen-Zusammenstellen eingefügt (sie werden nicht in die Fragebogen-Seiten gezogen). Auf der Seite nach dem PHP-Code geht es mit den unrotierten Bestandteilen des Fragebogens weiter. 
 + 
 + 
 +==== Mehrere Fragen auf einer Seite ====
  
 Das folgende Beispiel zeigt, wie man die Reihenfolge von 5 Fragen auf einer Seite im Fragebogen rotieren kann (zur Erklärung von Arrays s. [[filter-items#arrays|Items in eine anderen Frage übernehmen]]): Das folgende Beispiel zeigt, wie man die Reihenfolge von 5 Fragen auf einer Seite im Fragebogen rotieren kann (zur Erklärung von Arrays s. [[filter-items#arrays|Items in eine anderen Frage übernehmen]]):
  
 <code php> <code php>
 +// Teil 1: Liste der Fragen erstellen und mischen
 if (!isset($fragen)) { if (!isset($fragen)) {
   $fragen = array(  // Liste der Frage-Kennungen   $fragen = array(  // Liste der Frage-Kennungen
Zeile 140: Zeile 153:
   registerVariable($fragen);   registerVariable($fragen);
 } }
 +
 +// Teil 2: Fragen anzeigen
 // Die Liste der Fragen Kennung für Kennung durchgehen // Die Liste der Fragen Kennung für Kennung durchgehen
 // und jeweils die entsprechende Frage anzeigen // und jeweils die entsprechende Frage anzeigen
Zeile 150: Zeile 165:
  
  
-===== Fragen über mehrere Seiten rotieren =====+==== Eine Frage pro Seite ==== 
 + 
 +Falls Sie die Fragen einzeln auf jeweils einer eigenen Seite anzeigen möchten, kann dies mittels ''[[:de:create:functions:looppage|loopPage()]]'' relativ einfach erledigt werden. Das folgende Code-Beispiel setzt nach der Definition der Reihenfolge an (also zwei Zeilen unter dem ''registerVariable()'' im obigen PHP-Code) 
 + 
 +<code php> 
 +// Teil 1: Liste der Fragen erstellen und mischen 
 +// (s. oben) 
 + 
 +// Teil 2: Fragen anzeigen 
 +$i = loopPage(count($fragen)); 
 +question($fragen[$i]); 
 +</code> 
 + 
 + 
 +==== Fragen über mehrere Seiten rotieren ====
        
 Die Rotation von Fragen über mehrere Seiten ist nur geringfügig anspruchsvoller. Das folgende Beispiel zeigt, wie 6 Fragen auf 2 Seiten verteilt werden können: Die Rotation von Fragen über mehrere Seiten ist nur geringfügig anspruchsvoller. Das folgende Beispiel zeigt, wie 6 Fragen auf 2 Seiten verteilt werden können:
Zeile 157: Zeile 186:
 // PHP-Code auf Seite 1 // PHP-Code auf Seite 1
  
-// Das Mischen der Liste nur einmalig ausführen+// Teil 1: Erstellen und mischen der Liste nur einmalig ausführen
 if (!isset($fragen)) { if (!isset($fragen)) {
   // Liste der Frage-Kennungen erstellen   // Liste der Frage-Kennungen erstellen
Zeile 171: Zeile 200:
 } }
  
 +// Teil 2a
 // Die ersten drei Kennungen der Liste anzeigen // Die ersten drei Kennungen der Liste anzeigen
 question($fragen[0]); question($fragen[0]);
Zeile 179: Zeile 209:
 <code php> <code php>
 // PHP-Code auf Seite 2 // PHP-Code auf Seite 2
 +// Hier ist Teil 1 nicht (!) erneut erforderlich
  
 +// Teil 2b
 // Die nächsten drei Kennungen der Liste anzeigen // Die nächsten drei Kennungen der Liste anzeigen
 question($fragen[3]); question($fragen[3]);
Zeile 186: Zeile 218:
 </code> </code>
  
-Falls Sie die Fragen einzeln auf jeweils einer eigenen Seite anzeigen möchten, kann dies mittels ''[[:de:create:functions:looppage|loopPage()]]'' relativ einfach erledigt werden. Das folgende Code-Beispiel setzt nach der Definition der Reihenfolge an (also zwei Zeilen unter dem ''registerVariable()'' im obigen PHP-Code) 
- 
-<code php> 
-$i = loopPage(count($fragen)); 
-question($fragen[$i]); 
-</code> 
  
  
Zeile 264: Zeile 290:
 ==== Zufällige Rotation ==== ==== Zufällige Rotation ====
  
-**Wichtig:** Wenn Sie mehrere Seiten(blöcke) im Fragebogen rotieren möchten, verwenden sie den Befehl ''[[:de:create:functions:setpageorder|setPageOrder()]]'' anstatt des folgenden PHP-Codes.+**Wichtig:** Wenn Sie mehrere Seiten(blöcke) im Fragebogen rotieren möchten, verwenden Sie den Befehl ''[[:de:create:functions:setpageorder|setPageOrder()]]'' anstatt des folgenden PHP-Codes.
  
 <code php> <code php>
de/create/rotation.txt · Zuletzt geändert: 08.06.2021 08:14 von admin
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Share Alike 4.0 International
Driven by DokuWiki