Liebes Support Team,
ich habe den PHP Code versucht nach Ihrem Beispiel einzubauen. Allerdings bekomme ich es nicht hin, dass der Code zuverlässig die Vignetten anzeigt und die Randomisierung scheint nicht immer richtig zu funktionieren. Mein Fragebogen ist nun so aufgebaut:
01 Intro (für alle gleich)
02 Demografische Variablen mit der Variable DE10, wo Personen angeben, ob Sie zur älteren (value 3) oder jüngeren (value 1) Altersgruppe gehören. (für alle gleich)
03 Randomizer. Ich habe hier den Randomizer eingefügt und den PHP Code (für alle gleich)
04 TRs (Outcome für die same age condition)
05 TRy (Outcome für die young condition)
06 TRo (Outcome für die old condition)
07 BIs (Exploratives Outcome same age condition)
08 BIy (Exploratives Outcome für die young condition)
09 BIo (Exploratives Outcome für die old condition)
10 Manipulation check (für alle gleich)
end (für alle gleich)
Ich habe das so gemacht, damit ich die die nicht relevanten Seiten ganz leicht ausblenden kann basierend auf DE10 und dann keinen PHP Code mehr auf den individuellen Seiten brauche-zumindest hatte ich mir das so gedacht. Während das mit den Seiten so zu funktionieren scheint, wie ich mir das Gedacht habe, werden die Vignetten nicht angezeigt. Die habe ich auch nicht in den Fragebogen reingeschoben, sondern ich wollte das so machen, dass der PHP Code die Vignette quasi aufruft. Allerdings klappt das nicht, die Vignette wird manchmal nicht angezeigt und ich weiß nicht warum. Könnten Sie mir erklären, was an meinem Code für mein Vorhaben falsch ist und wie ich das beheben kann? Nicht wundern, ich habe auch versucht so Debug-Möglichkeiten einzubauen, damit ich den Fehler selbst finden kann, was aber nicht funktioniert hat. Die Vignetten sind die V00X Variablen im Code.
Das ist mein PHP Code, den ich nach dem Randomizer platziert habe:
// 1. Fetch age response
$age = value('DE10');
// Screen out ineligible participants (Category 2)
if ($age == 2) {
goToPage('end');
}
// 2. Fetch randomizer value
$rnd = value('V001');
// 3. Conditional routing with explicit age validation
if ($rnd == 1) {
// Professional | Same Age
text('V002');
setPageOrder('TRs', 'BIs', 'Friendship', 'end');
} elseif ($rnd == 2) {
// Friendship | Same Age
text('V003');
setPageOrder('TRs', 'BIs', 'Friendship', 'end');
} elseif ($rnd == 3) {
// Professional | Age Gap
if ($age == 1) {
// Younger Participant -> V004 & Younger Scales
text('V004');
setPageOrder('TRy', 'BIy', 'Friendship', 'end');
} elseif ($age == 3) {
// Older Participant -> V006 & Older Scales
text('V006');
setPageOrder('TRo', 'BIo', 'Friendship', 'end');
} else {
html('<p style="color:red; font-weight:bold;">Debug Error: DE10 value is invalid (Value: '.$age.'). Expected 1 or 3.</p>');
}
} elseif ($rnd == 4) {
// Friendship | Age Gap
if ($age == 1) {
// Younger Participant -> V005 & Younger Scales
text('V005');
setPageOrder('TRy', 'BIy', 'Friendship', 'end');
} elseif ($age == 3) {
// Older Participant -> V007 & Older Scales
text('V007');
setPageOrder('TRo', 'BIo', 'Friendship', 'end');
} else {
html('<p style="color:red; font-weight:bold;">Debug Error: DE10 value is invalid (Value: '.$age.'). Expected 1 or 3.</p>');
}
}
Danke für Ihre Hilfe. Der Sosci survey support ist mit Abstand der beste Support, den ich bei Anbietern jemals hatte.