Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
de:create:functions:pagestop [06.12.2014 23:35] – angelegt adminde:create:functions:pagestop [05.10.2023 14:57] (aktuell) – [Beispiel: Screenout] admin
Zeile 5: Zeile 5:
 Die Funktion verhindert, dass weitere Inhalte der Fragebogen-Seite angezeigt bzw. ausgeführt werden. Die Funktion verhindert, dass weitere Inhalte der Fragebogen-Seite angezeigt bzw. ausgeführt werden.
  
-===== Beispiel =====+Wenn innerhalb eines PHP-Code Elements im Fragebogen noch weitere Befehl folgen, so unterbindet ''pageStop()'' auch deren Ausführung. 
 + 
 + 
 +===== Beispiel: Screenout =====
  
 Im folgenden Beispiel wird ''pageStop()'' im Zusammenspiel mit einem Screen-Out Filter verwendet. So können auf der Screen-Out Seite noch weitere Inhalte (z.B. Fragen) platziert werden. Im folgenden Beispiel wird ''pageStop()'' im Zusammenspiel mit einem Screen-Out Filter verwendet. So können auf der Screen-Out Seite noch weitere Inhalte (z.B. Fragen) platziert werden.
Zeile 21: Zeile 24:
 </code> </code>
  
-Ohne ''pageStop()'' müsste man die weiteren Element in den Filter aufnehmen...+**Wichtig:** Der Text "screenout" darf nur über den PHP-Code in die Fragebogen-Seite eingebunden werden. Ziehen Sie den Text __nicht__ zusätzlich noch in die Seite. 
 + 
 + 
 + 
 +===== Beispiel: Zeitraum einschränken ===== 
 + 
 +Mitunter verwendet man im Befragungsprojekt mehrere Fragebögen -- und nicht alle sollen für den selben Zeitraum verfügbar sein. Zugleich lässt sich in den **Projekt-Einstellungen** nur ein Befragungszeitraum für das gesamte Befragungsprojekt festlegen. 
 + 
 +Mit einem kleinen PHP-Filter auf der ersten Seite des Fragebogens können Sie festlegen, dass außerhalb eines definierten Zeitraums nur eine Fehlermeldung angezeigt wird. 
 + 
 +Legen Sie im **Fragenkatalog** in einer Rubrik Ihrer Wahl einen neuen Text an. Im folgenden Beispiel wird davon ausgegangen, dass der Text die Kennung TX02 hat. Der folgende PHP-Code sorgt dafür, dass der Fragebogen nur im Zeitraum zwischen dem 01.04.2021 und dem 30.06.2021 ausgefüllt werden kann.
  
 <code php> <code php>
-if ((value('SK01'== 1or (value('SK01'== 7)) { +if ((time() < strtotime('2021-04-01')) || (time() >= strtotime('2021-07-01'))) { 
-  text('screenout');+  text('TX02');
   buttonHide();   buttonHide();
-} else { +  pageStop();
-  question('AB01'); +
-  question('AB02');+
 } }
 </code> </code>
  
-..oder man würde die Inhalte auf eine zusätzliche Seite (nach der aktuellen) legensodass auf der Seite keine Inhalte mehr folgen.+Der in den Projekt-Einstellungen festgelegte Befragungszeitraum muss vor dem 1.4.2021 starten und/oder nach dem 30.06.2021 endendamit der Filter aktiv werden kann.
  
 +Genauso kann man einschränken, dass der Fragebogen nur in einem bestimmten Zeitfenster ausgefüllt werden kann. Der folgende PHP-Code erlaubt das Ausfüllen nur von 9 bis 11 Uhr.
  
 <code php> <code php>
-if ((value('SK01'== 1or (value('SK01'== 7)) { +if ((date('h'< 9|| (date('h'> 11)) { 
-  text('screenout');+  text('TX02');
   buttonHide();   buttonHide();
-} else { +  pageStop();
-  goToPage('next');+
 } }
 </code> </code>
de/create/functions/pagestop.1417905357.txt.gz · Zuletzt geändert: 06.12.2014 23:35 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