TYPO3: Wie kann ich tt_content Textelemente in meinem eigenen Erweiterungen machen?

StackOverflow https://stackoverflow.com/questions/71223

  •  09-06-2019
  •  | 
  •  

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?

War es hilfreich?

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>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top