Willkommen auf der privaten Homepage von Johannes Jarolim, Salzburg, Österreich. Welcome to the private homepage of Johannes Jarolim, Salzburg, Austria, Europe.

Manchmal benötige ich den Output von Content Elementen in meinen Frontend Plugins, die es in gewünschter Form in der Tabelle tt_content nicht gibt. Wie nutze ich nun die Tabelle tt_content in meinem Plugin möglichst effizient zur Ausgabe von schon vorhandenen Typo3-Contentelementen?

Beispiel:

Ich habe in meinem Frontend Plugin ein eigenes Content Element definiert, dass folgende Felder befüllen läßt:

  • header
  • subheader
  • menu_type

Im Frontend soll (umgeben von einem Div-Wrap) zuerst ein headline- und dann ein Menu-Contentelement ausgegeben werden.

Fragestellung:

Wie rendere ich mit den Daten meines Contentelements nacheinander die gewünschten Contentelemente?

Ganz einfach:

[code language=”php”]

/** Die Main-Function des Frontend-Plugins **/

function main($content, $conf)    {

// Wir rendern die Headline
$cObj1 = t3lib_div::makeInstance(‘tslib_cObj’);
$temp = $this->cObj->data;
$temp[‘CType’] = ‘header’;
$cObj1->start($temp, ‘tt_content’);
$content .= $cObj1->cObjGetSingle(‘<tt_content’,”,array());

// Wir rendern das Menu
$cObj2 = t3lib_div::makeInstance(‘tslib_cObj’);
$temp = $this->cObj->data;
$temp[‘CType’] = ‘menu’;
$cObj2->start($temp, ‘tt_content’);
$content .= $cObj2->cObjGetSingle(‘<tt_content’,”,array());

return $this->pi_wrapInBaseClass($content);

}

[/code]

Voila: Wir haben mit ein- und dem selben Datensatz aus tt_content zuerst eine Headline und dann ein Menu gerendert. Vorteil im Backend: Der User muß nur ein Contentelement pflegen – Bekommt im Frontend aber 2 gerendert.

Hier können Sie eine Antwort hinterlassen

CAPTCHA Image
Reload Image