Zum Inhalt springen

Selectorbox mehrere Einträge anzeigen

Erstellt am 9. Mai 2007 · 2 Antworten · letzte Antwort am 10. Mai 2007

Tags: TCA, Frage

renesch ·

Ich habe eine Extension erstellt, bei welcher ich in einer Selectorbox mehrere Einträge auswählen kann, dies funktioniert soweit auch, solange ich nur einen Eintrag habe wird dieser im Frontend auch korrekt angezeigt, sobald ich jedoch mehrere Einträge habe, bleibt die Anzeige dieses Feldes im Frontend leer.

Hier mein Code, wie ich die Abfrage mache:

case "sprachen":
			if (!count($this->sprachenCache)) {
			$query = 'SELECT * FROM tx_atorhaendlernetz_sprachen WHERE pid='.intval($GLOBALS["TSFE"]->id).
			$this->cObj->enableFields('tx_atorhaendlernetz_sprachen');
			$res = mysql(TYPO3_db,$query);
			while($row=mysql_fetch_assoc($res)) {
			$this->sprachenCache[$row['uid']]=$row;

			}
			}
			
			return htmlspecialchars($this->sprachenCache[$this->internal["currentRow"]['sprachen']] ['sprachen']);

			break;

Kann mir jemand erklären was ich falsch mache bzw. wie der Code richtig sein muss, damit auch mehrere Einträge angezeigt werden.

Danke im Voraus an alle.

Gruss René

steffenk ·

ich denk Du suchst an der falschen Stelle.
Wie ist denn der Name Deiner selectBox - als Array ? Sonst kommt immer nur ein Wert an.

renesch ·

Hier für alle mit dem gleichen Problem, hier die Lösung dazu:

case "sprachen":
			    
$query='SELECT * from tx_atorhaendlernetz_sprachen '
' WHERE uid IN ('.$this->internal["currentRow"][$fN].')'
' AND hidden=0 AND deleted=0 ';
$res = mysql(TYPO3_db,$query);
$result='';
while($row = mysql_fetch_assoc($res)){
$result.=$row['sprachen'].', ';
}
$result=substr($result,0,(strlen($result)-2));
return $result;
break;