Zum Inhalt springen

Mehrere Bilder aus dem Backend (TCA group type)

Erstellt am 4. Juni 2012 · 1 Antwort · letzte Antwort am 13. Juni 2012

Tags: TCA, Bilder, Frage

rleuthold ·

Hallo zusammen,

Ich bräuchte zu folgendem Problem ein wenig Hilfe. Ich möchte gerne einer Entity mehrere Bilder zuordnen. Wenn man das mit dem Extension Builder anlegt erhält man in der Model Klasse ein String property (z.Bsp. $images) und im TCA columns array ein feld mit Type group.

Nun läuft das ganze ja nicht so gerade out of the box. Zum einen wird bei einer Mehrfachauswahl von Bildern nur das Erste ins DB Feld geschrieben, zum anderen funktioniert die Browse und upload Geschichte ja noch nicht.

Könnt Ihr mir ein paar Tipps geben, wie ich das angehen soll.

Danke & Grüsse
Rico

boOgiE ·

ich hab im tca mal folgendes gemacht, evtl hilft dir das weiter, damit kann ich dann 0-5 bilder anzeigen

...
'image' => array(
			'exclude' => 0,
			'label' => 'LLL:EXT:myext/Resources/Private/Language/locallang_db.xml:tx_myext_domain_model_mymodel.image',
			'config' => array(
				'type' => 'group',
				'internal_type' => 'file',
				'uploadfolder' => 'uploads/tx_myext',
				'show_thumbs' => 1,
				'size' => 5,
				'allowed' => $GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext'],
				'disallowed' => '',
				'minitems' => 0,
                'maxitems' => 5, 
			),
		),
...

und dann im model

...
/**
	 * Returns the image
	 *
	 * @return string $image
	 */
	public function getImage() {
		if(empty($this->image)){
			return false;
		}
		$imagesAsArray = explode(',', $this->image);
		foreach($imagesAsArray AS $key => &$value){
			$value = 'uploads/tx_myext/'. $value;
		}
		return $imagesAsArray;
	}
...

und im template

<f:if condition="{mymodel.image}">
			<f:for each="{mymodel.image}" as="image">
				<f:image src="{image}" alt="wtf" />
			</f:for>
		</f:if>