Die Bereiche q1, q2, q3 und mainStart waren nur Beispiele von Ihrer Hilfeseite.
Es wäre gut gewesen, das gleich in der ersten Frage zu verraten :)
Wenn ich Sie korrekt verstehe, brauchen Sie also überhaupt gar kein setPageOrder(). Sie möchten nur je nach Experimentalbedingung einen unterschiedlichen Pool von Fragen rotieren.
Das können Sie ganz einfach haben. Hier ist nochmal der Code aus Ihrer ersten Frage - also den, die Sie (evtl.?) tatsächlich verwenden wollten:
// Teil 1: Liste der Fragen erstellen und mischen
if (!isset($fragen)) {
$fragen = array( // Liste der Frage-Kennungen
'KO01',
'KO02',
'KO03',
'KO04',
'KO05',
'KO06',
'KO07',
'KO08',
'KO09',
'KO10'
);
// Die Liste zufällig mischen
shuffle($fragen);
// Die Rotation für eine eventuelle Wiederholung der Seite zwischenspeichern
registerVariable($fragen);
}
// Teil 2: Fragen anzeigen
$i = loopPage(count($fragen));
question($fragen[$i]);
Das einzige, was Sie entsprechend der Experimentalgruppe ändenr müssen, ist die Liste der Fragen-IDs.
// Zufallszahl
$zahl = value('ZU01');
// Teil 1: Liste der Fragen erstellen und mischen
if (!isset($fragen)) {
if ($zahl == 1) {
$fragen = [
'qK01', 'qK02', 'qK03', 'qK04', 'qK05',
'qK06', 'qK07', 'qK08', 'qK09', 'qK10'
];
} elseif ($zahl == 2) {
$fragen = [
'qR01', 'qR02', 'qR03', 'qR04', 'qR05',
'qR06', 'qR07', 'qR08', 'qR09', 'qR10'
];
} else {
$fragen = [
'qU01', 'qU02', 'qU03', 'qU04', 'qU05',
'qU06', 'qU07', 'qU08', 'qU09', 'qU10'
];
}
// Die Liste zufällig mischen
shuffle($fragen);
// Die Rotation für eine eventuelle Wiederholung der Seite zwischenspeichern
registerVariable($fragen);
}
// Teil 2: Fragen anzeigen
$i = loopPage(count($fragen));
question($fragen[$i]);
Sagen Sie doch gleich, dass Sie es gar nicht komplizierter brauchen :)