Liebes Support Team,
ich habe eine etwas kompliziertere Frage. Ich entwerfe gerade einen sehr kurzen Fragebogen mit einer Multilevel-Down Struktur (multiLevelDown('repeat', $data); Dazu wird einer Lehrkraft eine Liste von Schülerinnen (IDs) vorgelegt, zu der jeweils dann eine Frage beantwortet werden soll. Das mach ich momentan nach der Reihenfolge, so dass die IDs nach der Reihe abgearbeitet werden können. Das funktioniert auch super. Jetzt kam die Ansage von dem Kunden, dass die IDs auch per Knopfdruck (also als Link) angesteuert werden sollen. Das heißt, man kann eine Frage einer ID wieder aufrufen und ggf. Dinge ändern und danach wieder abschließen- und natürlich, dass man die Liste dann nicht nach der Reihenfolge abbarbeiten muss. Ist das möglich- und wenn ja, mit welchem System/Funktion? Unten hab ich Ihnen ein paar Seiten von dem Main Fragebogen hin kopiert, damit Sie einen Eindruck bekommen, wie ich momentan arbeite.
Seite vor dem multiLevel (ohne CSS):
$key = caseSerial();
$preload = dbGet($key);
if ($preload !== false) {
html('<ul class="preload-list">');
$nummer = 1;
foreach ($preload as $name) {
if ($name !== null && trim((string)$name) !== '') {
html('<li>' . htmlspecialchars($name));
if ($nummer < $durchgang) {
html('<span class="checkmark">✓</span>');
}
if ($nummer == $durchgang) {
html('<span class="current-marker">← aktuell</span>');
}
html('</li>');
$nummer++;
}
}
html('</ul>');
}
Seite des MultiLevel:
$key = caseSerial();
$preload = dbGet($key);
$aktuelleID = $preload[$durchgang - 1];
$variante = value('X002');
$data = array(
'durchgang' => $durchgang,
'variante' => $variante,
'id' => $aktuelleID
);
multiLevelDown('repeat', $data);
Seite nach Multilevel:
$key = caseSerial();
$preload = dbGet($key);
$maxDurchgaenge = 0;
if ($preload !== false) {
foreach ($preload as $name) {
if ($name !== null && trim((string)$name) !== '') {
$maxDurchgaenge++;
}
}
}
$durchgang++;
if ($durchgang <= $maxDurchgaenge) {
goToPage('zwischen');
}
Repeat Seite/Fragebogen:
$data= multiLevelData();
$durchgang = $data['durchgang'];
$variante = $data['variante'];
$id = $data['id'];
put('X001_01', $durchgang);
put('X001_02', $variante );
put('X003_01', $id);
replace('%susid%', $id);
if (value('X001_02') == 1) {
question('A002', '1-8');
text('SuS_ID');
} elseif (value('X001_02') == 2) {
question('A002', '1-4, 9-12');
text('SuS_ID');
} elseif (value('X001_02') == 3) {
question('A002', '1-4, 5, 6, 9, 10');
text('SuS_ID');
} elseif (value('X001_02') == 4) {
question('A002', '1-4, 7, 8, 11, 12');
text('SuS_ID');
} elseif (value('X001_02') == 5) {
question('A002', '1-4, 5, 6, 11, 12');
text('SuS_ID');
} elseif (value('X001_02') == 6) {
question('A002', '1-4, 7, 8, 9, 10');
text('SuS_ID');
} elseif (value('X001_02') == 7) {
question('A002', '5-12');
text('SuS_ID');
}
Bild von der ID-Liste als Beispiel:
