Zunächst einmal lesen wir die Codes aus der Rangordnung aus und bringen sie in die richtige Reihenfolge:
$items = getItems('RG01', 'all');
$chosen = array(-1, -1, -1);
foreach ($items as $varID) {
$rank = value($varID);
if ($rank > 0) {
$chosen[$rank] = $varID;
}
}
debug($chosen);
Jetzt sollte der Fragebogen im Debug-Modus (gelber Pfeil) so etwas anzeigen wie
'RG01_02', 'RG01_04', 'RG01_01'
Schritt 2: Wir "übersetzen" das in Seiten-Kennungen. Diese könnten z.B. pg1 bis pg6 sein. Dann würde die Übersetzung wie folgt aussehen:
$pages = array(
'RG01_01' => 'pg1',
'RG01_02' => 'pg2',
'RG01_03' => 'pg3',
'RG01_04' => 'pg4',
'RG01_05' => 'pg5',
'RG01_06' => 'pg6'
);
$pageOrder = array();
foreach ($chosen as $varID) {
$pageOrder[] = $pages[$varID];
}
debug($pageOrder);
Es wird also für jeden Wert aus der oben erstellten Liste im Array $pages
nachgesehen, welche Seite dazu gehört. Und die Seiten-Kennungen werden dann in die Varibale $pageOrder
geschrieben. Dort sollte nun also z.B. stehen:
'pg2', 'pg4', 'pg1'
Der Rest ist trivial. Erstmal definieren Sie noch die Seite, wo es nachher weitergehen soll - also jene nach pg6, die z.B. die Kennung pgDone haben könnte:
$pageOrder[] = 'pgDone';
Und dann platzieren Sie auf der letzten Seite vor pg1 den Befehl setPageOrder()
:
setPageOrder($pageOrder);