Danke, ich würde gerne die Lösung mit 20 Zetteln und Stimuluskombinationen implementieren (Urne). Nun geht es aber um das korrekte loopen und einbetten.
Meine Schritte wären wie folgt:
1) Eine Urne anlegen mit Zetteln für Kombinationen (Werte werden unter IV01_01 - IV01_05 gespeichert):
1, 2, 3, 4, 5
5, 4, 3, 2, 1
6, 7, 8, 9, 10
...
2) Urnenziehung im Fragebogen
urnDraw('5x', 'IV01')
3) Auf Stimulusseite Auslesen des Urnenzettels (Stimulus ist Video, auf externen Server verlinkt). Wie kann ich sicherstellen, das dass richtige Video angezeigt wird kein Überschreiben etc. (loopen kommt erst weiter unten):
switch (value('IV01_01')) {
case 1 : $video = 'externer_link1.mp4'; break;
case 2 : $video = 'externer_link2.mp4'; break;
case 3 : $video = 'externer_link3.mp4'; break;
case 4 : $video = 'externer_link4.mp4'; break;
....
}
switch (value('IV01_02')) {
case 1 : $video = 'externer_link1.mp4'; break;
case 2 : $video = 'externer_link2.mp4'; break;
case 3 : $video = 'externer_link3.mp4'; break;
case 4 : $video = 'externer_link4.mp4'; break;
....
}
// usw. bis IV01_05
html('
<video width="640" height="360" controls controlsList="nodownload" autoplay id="stimulus">
<source src="'.$video.'"type="video/mp4"/></video>
</div>
');
// Spezielle Einstellungen für das Video:
<script type="text/javascript">
<!--
var video = document.getElementById("stimulus");
// Bedienelemente ausblenden, sobald es abspielt
SoSciTools.attachEvent(video, "play", function(evt) {
stimulus.removeAttribute("controls");
});
// Weiter-Knopf ausblenden
SoSciTools.attachEvent(window, "load", function(evt) {
SoSciTools.submitButtonsHide();
});
// Weiter-Knopf am Ende des Videos wieder anzeigen
SoSciTools.attachEvent(stimulus, "ended", function(evt) {
SoSciTools.submitButtonsDisplay();
});
// -->
</script>
4) Loopen der Seite
$i = loopPage(5); // 5 Videos sollen gezeigt werden
$varID = 'IV01_'.sprintf('%02d', $i + 1) // Die Variablennamen lauten IV01_01 bis IV01_05.
$video = value($varID, 'label');
5) Fragebatterie (AC) wird auf der Seite eingebettet - man kann ja nicht über GUI korrekt einbetten. Jedem Video muss die korrekte Frage Kennung zugeordnet werden.
// Die passende Frage-Kennung erstellen und die Frage mittels question() anzeigen
question(id('AC', $i + 1)); // Frage-Kennungen AC01 bis AC05
Das ist vielleicht jetzt etwas viel gefragt, aber das geschulte Auge kann hier sicher effizient helfen wo der Fehler liegt, danke!