Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
de:create:functions:repeatpage [22.10.2014 20:31] – Ausgelagert aus functions-base adminde:create:functions:repeatpage [15.05.2024 19:17] (aktuell) – [Beispiel 2] admin
Zeile 1: Zeile 1:
 ====== repeatPage() ====== ====== repeatPage() ======
  
-''void **repeatPage**([string Textbaustein])''+''void **repeatPage**([string //Textbaustein//])''
  
-Die Funktion ''repeatPage()'' zeigt die vorhergehende Seite erneut an. Optional wird ein Textbaustein im Stil einer Fehlermeldung angezeigt.+Die Funktion ''repeatPage()'' zeigt die vorhergehende Seite erneut an. Optional wird ein Textbaustein im Stil einer Fehlermeldung angezeigt. Anwendung findet die Funktion v.a. für [[:de:create:checks#individuelle_antwort-pruefung|individuelle Antwortprüfungen]].
  
   * //Textbaustein// (optional)\\ Falls die Kennung eines Textbausteins angegeben wird (Anzulegen unter **Textbausteine und Beschriftung**), so wird dieser Textbaustein als Hinweis zu Beginn der wiederholten Seite angezeigt. Der Textbaustein wird dabei genauso formatiert wie andere Meldungen zu fehlenden/fehlerhaften Angaben.   * //Textbaustein// (optional)\\ Falls die Kennung eines Textbausteins angegeben wird (Anzulegen unter **Textbausteine und Beschriftung**), so wird dieser Textbaustein als Hinweis zu Beginn der wiederholten Seite angezeigt. Der Textbaustein wird dabei genauso formatiert wie andere Meldungen zu fehlenden/fehlerhaften Angaben.
Zeile 26: Zeile 26:
 ===== Beispiel 2 ===== ===== Beispiel 2 =====
  
-Mithilfe von repeatPage() ist es ebenso möglich, einmalig nachzuhaken, wenn der Befragte eine Frage nicht beantwortet. Im folgenden Beispiel wird überprüft, ob in der Auswahlfrage ''BB01'' eine gültige Option gewählt wurde und ob die Items der Skala ''BC01'' vollständig beantwortet wurden.+Mithilfe von ''repeatPage()'' ist es ebenso möglich, einmalig nachzuhaken, wenn der Befragte eine Frage nicht beantwortet. Im folgenden Beispiel wird überprüft, ob in der Auswahlfrage ''BB01'' eine gültige Option gewählt wurde und ob die Items der Skala ''BC01'' vollständig beantwortet wurden.
  
-Wenn eine der Fragen nicht vollständig beantwortet wurde, wird der Textbaustein "error_missing" angezeigt und die Seite wiederholt. Allerdings nur einmalig, was durch ''registerVariable()'', die Variable ''$rPG6'' und das ''isset()'' zu Beginn sichergestellt wird.+Wenn eine der Fragen nicht vollständig beantwortet wurde, wird der Textbaustein "error_missing" angezeigt und die Seite wiederholt. Allerdings nur einmalig. Dies wird dadurch erreichtdass bei der ersten Wiederholung eine interne Variable "IV01_01" auf den Wert 2 gesetzt wird. Bitte legen Sie die [[:de:create:questions:internal|interne Variable]] vorab im Fragenkatalog anund verwenden Sie im Code statt "IV01_01" die Kennung Ihrer internen Variable. Wenn die Seite erneut aufgerufen wird, und die Variable den Wert 2 hat, wird die Antwortprüfung nicht mehr ausgelöst.
  
 Wenn sich die Fragen auf Seite 6 befinden, muss der folgende PHP-Code auf Seite 7 ganz oben platziert werden. Wenn sich die Fragen auf Seite 6 befinden, muss der folgende PHP-Code auf Seite 7 ganz oben platziert werden.
  
 <code php> <code php>
-// Nur wenn $repeatedPG6 noch nicht gesetzt ist, wird geprüft +// Nur wenn IV01_01 noch nicht gesetzt ist, wird geprüft 
-if (!isset($rPG6)) {+if (value('IV01_01', 'code:ifany'!= 2) {
   // Prüfen, ob in der Auswahl BB01 die Antwort fehlt (Code -9)   // Prüfen, ob in der Auswahl BB01 die Antwort fehlt (Code -9)
   $failBB01 = (value('BB01') == -9);   $failBB01 = (value('BB01') == -9);
Zeile 40: Zeile 40:
   $failBC01 = (count(getItems('BC01', 'missing')) > 0);   $failBC01 = (count(getItems('BC01', 'missing')) > 0);
  
-  if ($failBB01 or $failBC01) {+  if ($failBB01 || $failBC01) {
     // Merken, dass Seite 6 wiederholt wird/wurde     // Merken, dass Seite 6 wiederholt wird/wurde
-    $rPG6 = true; +    put('IV01_01', 2);
-    registerVariable('rPG6');+
     // Vorhergehende Seite erneut anzeigen     // Vorhergehende Seite erneut anzeigen
     repeatPage('error_missing');     repeatPage('error_missing');
de/create/functions/repeatpage.1414002683.txt.gz · Zuletzt geändert: 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