Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

de:create:functions:reference [12.01.2015 20:14] (aktuell)
admin ausgelagert aus functions-proc
Zeile 1: Zeile 1:
 +====== reference() ======
 +
 +''​string **reference**()''​
 +
 +Falls im [[:​de:​survey:​url|Link zum Fragebogen]] eine Referenz übergeben wurde, gibt die Funktion ''​reference()''​ diese zurück. In der Referenz können z.B. Informationen zum Teilnehmer kodiert werden, welche der Fragebogen gleich für die Filterführung verwendet (s. Beispiel 2).
 +
 +**Tipp:** In Fragen, Textbausteinen und der Funktion ''​[[:​de:​create:​functions:​redirect|redirect()]]''​ kann die Referenz auch mithilfe des [[:​de:​create:​placeholders#​vordefinierte_platzhalter|vordefinierten Platzhalters]] ''​%reference%''​ eingebunden werden.
 +
 +
 +===== Beispiel 1 =====
 +
 +Im folgenden Beispiel wird die Referenz einfach nur angezeigt.
 +
 +<code php>
 +html('<​p>​Ihre Referenz: <​strong>'​.reference().'</​strong></​p>'​);​
 +</​code>​
 +
 +Der Platzhalter ''​%reference%''​ hat hier denselben Effekt.
 +
 +<code php>
 +html('<​p>​Ihre Referenz: <​strong>​%reference%</​strong></​p>'​);​
 +</​code>​
 +
 +
 +===== Beispiel 2 =====
 +
 +Die Verwendung der Referenz kann nützlich sein, wenn darin weitere Informationen kodiert sind. Im folgenden Beispiel hätten Sozialwissenschaftler z.B. eine Referenz "​Axxx"​ (z.B. A100, A201, A991) und Naturwissenschaftler eine Referenz "​Bxxx"​ (z.B. B100, A201, B990) im Link bekommen.
 +
 +In Abhängigkeit von der Referenz soll nun Frage "​AB01"​ oder "​AB02"​ angezeigt werden. Dafür muss zunächst mittels ''​{0}''​ das erste Zeichen der Referenz extrahiert werden. Die PHP-eigene Funktion ''​[[http://​php.net/​manual/​de/​function.strtoupper.php|strtoupper()]]''​ stellt sicher, dass eventuelle Kleinbuchstaben in Großbuchstaben umgewandelt werden.
 +
 +<code php>
 +$ref = strtoupper(reference());​ // Referenz ermitteln und in Großbuchstaben umwandeln
 +if (strlen($ref) < 1) {
 +  // Gar keine Referenz übermittelt (weniger als 1 Zeichen)
 +  goToPage('​next'​);​
 +} elseif ($ref{0} == '​A'​) {
 +  question('​AB01'​); ​ // Frage für Sozialwissenschaftler
 +} elseif ($ref{0} == '​B'​) {
 +  question('​AB02'​); ​ // Frage für Naturwissenschaftler
 +} else {
 +  // Keine gültige Referenz übermittelt
 +  goToPage('​next'​);​
 +}
 +</​code>​
 +
  
de/create/functions/reference.txt · Zuletzt geändert: 12.01.2015 20: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