Zum Inhalt springen

Mehrere Bilder anzeigen

Erstellt am 8. Oktober 2006 · 3 Antworten · letzte Antwort am 9. Oktober 2006

Tags: TCA, Bilder, Frage

mamo ·

Hallo
Ich habe eine Extension mit dem Kickstarter erstellt, in welcher zu einem Eintrag mehrere Bilder gespeichert werden können. Das klappt soweit. In der DB werden sie mit Komma getrennt aufgeführt.
Wenn ich nur ein Bild speichere, wird das im FE auch richtig dargestellt. Sobald mehrere Bilder da sind, erscheint nichts mehr.

Hier die Stelle in der tca.php:

				"bild" => Array (		
			"exclude" => 1,		
			"label" => "LLL:EXT:mamo_rezepte/locallang_db.xml:tx_mamorezepte_rezepte.bild",		
			"config" => Array (
				"type" => "group",
				"internal_type" => "file",
				"allowed" => $GLOBALS["TYPO3_CONF_VARS"]["GFX"]["imagefile_ext"],	
				"max_size" => 100,	
				"uploadfolder" => "uploads/tx_mamorezepte",
				"show_thumbs" => 1,	
				"size" => 5,	
				"minitems" => 0,
				"maxitems" => 10,
			)
		),

So wird in der class.tx_mamorezepte_pi1.php das Bild in die Single View eingebunden:

				<tr>
					<td this-="">pi_classParam('singleView-HCell').'><p>'.$this->getFieldHeader('bild').'</p></td>
					<td><p>'.$this->getFieldContent('bild').'</p></td>
				</tr>

Um statt die uid das Bild selber anzuzeigen, habe ich ein CObjekt definiert. Das ist der Eintrag in der funktion getFieldContent:

	function getFieldContent($fN)	{
		switch($fN) {
			case 'bild':
				$imgTSConfig = $this->conf['bildCObject.'];
				$imgTSConfig['file'] = 'uploads/tx_mamorezepte/'.$this->internal["currentRow"][$fN];
				return $this->cObj->IMAGE($imgTSConfig);
			break;

Wie kriege ich nun aber mehrere Bilder da hinein? Da reichen meine PHP-Kenntnisse leider nicht aus. Einige klägliche Versuche sind bereits gescheitert. Hat mir jemand einen Tipp, wie ich vorgehen muss?
Besten Dank im voraus.
mamo

steffenk ·

Du musst jedes einzelne Bild nehmen, also

$out='';
$imgTSConfig = $this->conf['bildCObject.'];
$pics=explode(',',$this->internal["currentRow"][$fN]);
foreach($pics as $p) {
   $imgTSConfig['file'] = 'uploads/tx_mamorezepte/'.$p;
   $out.=$this->cObj->IMAGE($imgTSConfig);
}
return $out;
mamo ·

Herzlichen Dank steffenk! Klappt tatsächlich wunderbar! Habe wieder mal was gelernt in Sachen PHP 🙂
Winzig kleines Detail: in Zeile 1 das abschliessende ; ergänzen.
mamo

_____
Detail ergänzt von just2b