====== Navigation im Fragebogen ======
Üblicherweise starten Teilnehmer auf der ersten Seite und füllen den Fragebogen dann sequenziell aus. Mitunter wird der Ablauf durch ein ''[[:de:create:functions:setpageorder]]'' oder ''[[:de:create:functions:gotopage]]'' verändert, aber auch dann folgen die Teilnehmer dem vom Projektleiter vorgegeben Ablauf.
Diese Anleitung beschreibt, wie man ein Menü bzw. eine Navigation im Fragebogen ergänzt, sodass Teilnehmer nach Belieben zwischen den Seiten/Abschnitten springen können. Dies ist vor allem dann sinnvoll, wenn man ein Formular in SoSci Survey zur Abfrage von Informationen einsetzt (s. auch [[:de:create:mix-forms]]).
{{:de:create:scr.navigation.result1.png?nolink|Beispiel für ein Navigationsmenü im Fragebogen}}
===== Grundlagen =====
Im ersten Schritt werden unter **Fragebogen zusammenstellen** [[:de:create:pageid|Seitenkennungen]] für alle Seiten eingetragen, zu denen der Teilnehmer springen kann. Der Titel der Seite wird als //Notiz// eingetragen.
{{:de:create:scr.navigation.pageid.png?nolink|Seitenkennung und Notiz eintragen}}
Die eigentlichen Navigationsknöpfe werden von der Funktion ''[[:de:create:functions:buttontopage]]'' erzeugt. Diese Funktion erzeugt HTML-Code, den man mittels ''[[:de:create:functions:html]]'' in der Fragebogen-Seite einbinden kann. Mit folgendem PHP-Code würde man auf einer Fragebogen-Seite Knöpfe zu unterschiedlichen Seiten anbieten.
html(
'
{{:de:create:scr.navigation.result2.png?nolink|Knöpfe zur Navigation zwischen unterschiedlichen Seiten}}
Der PHP-Code müsste nun auf jeder einzelnen Seite des Fragebogens (z.B. oben auf der Seite) eingefügt werden. Dies ist natürlich unpraktisch und erschwert nachträgliche Änderungen. Deshalb wird unter **Fragebogen zusammenstellen** im Karteireiter *PHP-Funktionen* eine neue Funktion definiert, welche sich um die Navigation und ggf. weitere Anpassungen kümmert.
function navigation() {
// Navigation
html(
'
Auf den einzelnen Seiten des Fragebogens muss dann nur noch ein PHP-Code eingebunden werden, welcher diese Funktion aufruft:
navigation();
===== Darstellung anpassen =====
Mittels CSS lassen sich die Anordnung auf der Seite und die Darstellung der Knöpfe anpassen. Zunächst werden im HTML-Code einige Ergänzungen vorgenommen:
* Im äußeren ''
html(
''.
''.NL.
buttonToPage('start').
buttonToPage('kontakt').
buttonToPage('studium').
buttonToPage('leistungen').
buttonToPage('dokumente').
buttonToPage('notizen').
''.
buttonToPage('abschicken').
''.
''
);
Dazu passend werden im [[:de:create:layout|Fragebogen-Layout]] in der **HTMLVorlage** im ''