no way to compare when less than two revisions

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.


Letzte Überarbeitung
de:create:functions:reference [12.01.2015 20:14] – ausgelagert aus functions-proc admin
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: 25.03.2022 22:06 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