TYPO3: Wie kann ich tt_content Textelemente in meinem eigenen Erweiterungen machen?
Frage
Ich schreibe zur Zeit eine TYPO3-Erweiterung, die mit einer Liste von tt_content
UID konfiguriert ist.
Diese zeigen auf Inhaltselemente vom Typ „Text“ und ich möchte, dass sie durch meine Erweiterung machen.
Aufgrund von TYPO3 besonderer Weise den Text zu verwandeln Sie in der Rich-Text-Bearbeitung eingeben, wenn es die Datenbank eingibt, und Transformieren es wieder, wenn es an das Frontend gerendert wird, kann ich nicht nur Ausgabe der Datenbankinhalt des bodytext
Feld.
Ich mag diese Texte machen, wie sie in der Regel von TYPO3 bekommen gemacht würden. Wie mache ich das?
Lösung
Ich hatte das gleiche Problem vor ein paar Monaten. Jetzt muß ich sagen, dass ich bin kein typo3 Entwickler, so dass ich weiß nicht, ob dies die richtige Lösung ist.
Aber ich habe so etwas wie folgt aus:
$output .= $this->pi_RTEcssText( $contentFromDb );
in meiner Erweiterung und es funktioniert.
Andere Tipps
PHP
Das funktioniert für mich; es macht jedes Inhaltselement mit der angegebenen ID:
function getCE($id)
{
$conf['tables'] = 'tt_content';
$conf['source'] = $id;
$conf['dontCheckPid'] = 1;
return $GLOBALS['TSFE']->cObj->cObjGetSingle('RECORDS', $conf);
}
Siehe http://lists.typo3.org/ pipermail / typo3-dev / 2007-Mai / 023467.html
Das funktioniert für nicht zwischengespeicherte Plugins auch. Sie erhalten eine Zeichenfolge wie <!--INT_SCRIPT.0f1c1787dc3f62e40f944b93a2ad6a81-->
, aber TYPO3 werden, dass auf dem nächsten INT Rendering-Pass mit dem realen Inhalt ersetzen.
Fluid
Wenn Sie in einer Flüssigkeit Vorlage sind, die VHS content.render
View Helfer ist nützlich:
<v:content.render contentUids="{0: textelementid}"/>
Wenn Ihr fluidcontent Element ein Gitter selbst hat, können Sie die Elemente mit Fluss eigenen content.get
oder content.render
View Helfer machen:
<f:section name="Configuration>
... <flux:grid.column name="teaser"/> ...
</f:section>
<f:section name="Main>
<flux:content.render area="teaser"/>
<f:section>