0 votes
in SoSci Survey (dt.) by s130803 (420 points)

Hallo,

ich würde in meinem Fragebogen gerne einen Online-Shop inklusive "Warenkorb" simulieren.

Hierzu möchte ich das Produkt, das durch ein Auswahlkärtchen ausgewählt wurde, auf der darauffolgenden Seite, dem "Warenkorb", nochmals mt weiteren Auswahlmöglichkeiten (fiktive Bezahlmöglichkeiten, Versandoptionen etc.) darstellen. Um zu umgehen, dass ich für jedes der 12 Produkte ein eigenes Text-Element, das das Bild des Produktes enthält, erstellen muss, wollte ich mit einem Platzhaltzer arbeiten, der, je nach Auswahl, mit dem Bild des Produktes ersetzt wird (durch eine Kette von if-else Bedingungen im PHP-Code für replace).
Allerdings funktioniert das noch nicht wie gewünscht.

Mein momentaner einfacher Code für das Ersetzen des Platzhalters mit dem HTML-Code des Bildes lautet wie folgt:

replace('image', html('<img src="Bild-URL">'));

Wenn ich den Code auf der Seite, die das Text-Element enthält, einsetze bekomme ich zwei Fehlermeldungen und das Bild erscheint an der falsche Position (erste Position der Seite).

Questionnaire Error (page 3) There are not enough parameters for the
function replace(). 2 parameters are essential for proper processing.
Please refer to the user manual for further details.

Warning (page 3) For the placeholder %item% neither an input field by
prepare_input() has been created nor any content by using replace().

Die erste Fehlermeldung bekomme ich auch, wenn ich den PHP-Code auf die vorherige Seite einfüge. Auch hier erscheint das Bild dann an der ersten Position der Seite.

Gibt es hierfür eine schnelle Lösung oder ist es einfacher mit einem ganz normalen PHP-Filter zu arbeiten und für jeden Artikel ein eigenes Text-Element inklusive Bild zu erstellen?

Vielen Dank!

1 Answer

0 votes
by SoSci Survey (327k points)
selected by s130803
 
Best answer

replace('image', html('image'));

Das html() ist dafür da, Inhalte auf der Seite auszugeben - ein Platzhalter macht ungefähr dasselbe. Sie versuchen also, das Bild doppelt auszugeben.

Versuchen Sie es bitte wie folgt:

replace('image', '<img src="Bild-URL">', 'html');

Der Parameter 'html' sorgt dafür, dass der HTML-Code verwendet wird. Ansonsten würde SoSci Survey die spitzen Klammern durch die entsprechenden HTML-Enitäten ersetzen, sodass sie als spitze Klammern angezeigt werden.

by s130803 (420 points)
Wunderbar, klappt jetzt perfekt. Danke!

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...