Wir wollen eine Reihe von Seiten mischen. Das hier ist unser Code bist jetzt:
if (!isset($blocks)) {
// Liste der Seiten definieren
$blocks = array('AP01Start-AP06End','IP01Start-IP06End');
// Liste mischen
shuffle($blocks);
// Die Seite ergänzen, wo es nachher weiter geht
$blocks[] = 'SD';
// Reihenfolge zwischenspeichern, um spätere Änderung zu vermeiden
registerVariable($blocks);
}
setPageOrder($blocks);
if (!isset($blocks)) {
// Liste der Seiten definieren
$blocks = array(
// Block 1
array('AP01Start', 'AP02', 'AP03', 'AP04', 'AP05', 'AP06End'),
// Block 2
array('IP01Start', 'IP02', 'IP03', 'IP04', 'IP05', 'IP06End')
);
// Jeden einzelnen Block in sich mischen
for ($i=0; $i<count($blocks); $i++) {
shuffle($blocks[$i]);
}
// Liste der Blöcke mischen
shuffle($blocks);
// Die Seite ergänzen, wo es nachher weiter geht
$blocks[] = 'SD';
// Reihenfolge zwischenspeichern, um spätere Änderung zu vermeiden
registerVariable($blocks);
}
setPageOrder($blocks);
Die zwei Blöcke kommen schon in unterschiedlicher Reihenfolge daher. Jetzt sollten sich nur noch die Seiten innerhalb eines Blockes auch noch mischen... Daran scheitere ich gerade!