function COBJ_ARRAY($conf,$ext='') {
$content='';
switch($ext) {
case 'INT':
$substKey = $ext.'_SCRIPT.'.$GLOBALS['TSFE']->uniqueHash();
$content.='<!--'.$substKey.'-->';
$GLOBALS['TSFE']->config[$ext.'incScript'][$substKey] = array(
'file'=>$incFile,
'conf'=>$conf,
'cObj'=>serialize($this),
'type'=>'COA'
);
break;
default:
if ($this->checkIf($conf['if.'])) {
$content=$this->cObjGet($conf);
if ($conf['wrap']) {
$content=$this->wrap($content, $conf['wrap']);
}
if ($conf['stdWrap.']) {
$content=$this->stdWrap($content, $conf['stdWrap.']);
}
}
break;
}
return $content;
}
Listing 6
Den Zusammenhang zwischen TypoScript und PHP-Code sehen Sie sehr gut im Bereich „default“ der switch-Anweisung. Dort wird geprüft, ob die einzelnen Konfigurationsmöglichkeiten in TypoScript wie „stdWrap“ gesetzt wurden und die entsprechende Funktionalität aufgerufen wurde. Um beispielsweise ein Bild in einer Liste darzustellen, können Sie den Bildnamen aus der Datenbank lesen, alle weiteren Informationen (z. B. die Breite) in TypoScript hinterlegen und dann zur Erzeugung des img-Tags inklusive eines automatisch kleingerechneten temporären Bilds auf bestehende Funktionen zurückgreifen.
plugin.tx_myPlugin_pi1 {
listView {
myImage = IMAGE
myImage {
file.maxW = 50
}
}
}
Listing 7
$conf['listView.']['myImage.']['file'] = 'uploads/tx_myplugin/'.$this->internal['currentRow']['image']; $content.= $this->cObj->IMAGE($conf['listView.']['myImage.']);
Listing 8
Dabei werden der Pfad und der Name der Bilddatei erst in PHP zum Konfigurationsarray hinzugefügt, um aus dem gesamten Konfigurationsarray „$conf['listView.']['myImage.']“ dann das Bild und das img-Tag zu erzeugen. In der Variable „$this->internal['currentRow']['image']“ ist im Beispiel der Name der Datei aus der Datenbank hinterlegt.






