Ich glaube jetzt ist mein Code komplett! Ich bin mir nur noch unsicher, ob ich den Wert des Zufallsgenerators auch speichern muss oder ob dieser automatisch im Datensatz erscheint? aktuell habe ich put() bzw. putList() bei diesem, bei den (nicht) angrekreuzten Items, bei shuffle und bei $shop hinterlegt. Aber ist das bei shuffle $videos überhaupt sinnvoll / reicht da nicht das putList() bei $shop? Vielleicht könnten Sie kurz nochmal einen Blick darüber werfen, ob es so auch wirklich passt?
So würde der Code eben jetzt im ganzen aussehen:
if (value('ZU01') ==1) { // Zufallsgenerator 1 = high targeting
put('IV01_02', 1); // im Datensatz speichern
$videos = getItems('IN01', 'is', 2); // angekreuzte Themen
put('IV01_01', 2);
// ausweichen in andere Experimentalgruppe, wenn es zu wenig Themen sind
if (count($videos) < 3) {
$videos = getItems('IN01', 'is', 1);
put('IV01_01', 1);
}
}
if (value('ZU01') ==2) { // Zufallsgenerator 2 = low targeting
put('IV01_02', 2);
$videos = getItems('IN01', 'is', 1); // nicht angekreuzte Themen
put('IV01_01', 1);
// ausweichen in andere Experimentalgruppe, wenn es zu wenig Themen sind
if (count($videos) < 3) {
$videos = getItems('IN01', 'is', 2);
put('IV01_01', 2);
}
}
debug(value('ZU01'));
debug($videos);
shuffle($videos); // Items mischen
putList('IV03', $videos);
debug($videos);
$shop = array_slice($videos, 0, 3); // die ersten drei davon hernehmen
putList('IV02', $shop);
debug($shop);
$seiten = [
1 => 'V ET',
2 => 'V M',
3 => 'V G',
4 => 'V AF',
5 => 'V HT',
6 => 'V SS',
7 => 'V B',
8 => 'V FG',
9 => 'V HG',
10 => 'V R',
];
$anzeigen = [];
foreach ($shop as $video) {
$anzeigen[] = $seiten[$video]; // Videos anzeigen
}
setPageOrder($anzeigen, 'Ende'); // danach weiter zu folgender Seite