Es sind jetzt doch 3 statt 2 Fragen innerhalb der inneren Blöcke (davon aber 2 jeweils auf der ersten Seite und eine weitere auf einer zweiten Seite, der Bereich sollte also gleich definiert werden können).
Wenn ich den Code so anwende wie beschrieben, dann bleiben die "inneren" Blöcke nicht erhalten,bzw. wird deren zweite Seite (die mit "RU"-Kennungen) nicht angezeigt, sondern es springt von einer SZ-Kennung zur nächsten (auch die äußeren Blöcke bleiben nicht erhalten).
$seiten = array(
array('SZ01-RU02', 'SZ11-RU03'),
array('SZ13-RU06', 'SZ03-RU04'),
array('SZ15-RU07', 'SZ05-RU05')
);
shuffle($seiten[0]);
shuffle($seiten[1]);
shuffle($seiten[2]);
shuffle($seiten);
if (!isset($seiten)) {
$seiten = array(
array('SZ01-RU02', 'SZ11-RU03'),
array('SZ13-RU06', 'SZ03-RU04'),
array('SZ15-RU07', 'SZ05-RU05')
);
registerVariable($seiten);
}
setPageOrder($seiten);
Liegt das "RU"-Problem vielleicht daran, dass auf der zweiten Seite ein PHP-Code steht, die Frage selbst aber nicht reingezogen wurde (hier wird jeweils innerhalb der Fragen die Reihenfolge der Items rotiert, daher der PHP-Code)?
$blocks = array(
array(1,2,3),
array(7,8,9),
array(13,15,16),
array(19,20,21)
);
for ($i=0; $i<count($blocks); $i++) {
shuffle($blocks[$i]);
}
shuffle($blocks);
$items = array();
for ($i=0; $i<count($blocks); $i++) {
$items = array_merge($items, $blocks[$i]);
}
question('RU02', $items);