ERRORE3:Come posso eseguire il rendering degli elementi di testo tt_content nelle mie estensioni?
Domanda
Attualmente sto scrivendo un'estensione TYPO3 configurata con un elenco di tt_content
UID.Questi puntano a elementi di contenuto di tipo "testo" e voglio renderli con la mia estensione.
A causa del modo speciale di TYPO3 di trasformare il testo che inserisci nel rich text editing quando entra nel database, e di trasformarlo nuovamente quando viene visualizzato nel frontend, non posso semplicemente emettere il contenuto del database del bodytext
campo.
Voglio rendere questi testi come verrebbero normalmente visualizzati da TYPO3.Come lo faccio?
Soluzione
Ho avuto lo stesso problema un paio di mesi fa.Ora devo dire che non sono uno sviluppatore typo3, quindi non so se questa sia la soluzione giusta.
Ma ho usato qualcosa del genere:
$output .= $this->pi_RTEcssText( $contentFromDb );
nella mia estensione e funziona.
Altri suggerimenti
PHP
Per me va bene;esegue il rendering di qualsiasi elemento di contenuto con l'ID specificato:
function getCE($id)
{
$conf['tables'] = 'tt_content';
$conf['source'] = $id;
$conf['dontCheckPid'] = 1;
return $GLOBALS['TSFE']->cObj->cObjGetSingle('RECORDS', $conf);
}
Vedere http://lists.typo3.org/pipermail/typo3-dev/2007-May/023467.html
Funziona anche con plugin non memorizzati nella cache.Otterrai una stringa simile <!--INT_SCRIPT.0f1c1787dc3f62e40f944b93a2ad6a81-->
, ma TYPO3 lo sostituirà al successivo passaggio di rendering INT con il contenuto reale.
Fluido
Se ti trovi in un modello fluido, il file VHS content.render
visualizza l'assistente è utile:
<v:content.render contentUids="{0: textelementid}"/>
Se il tuo elemento fluidcontent ha una griglia stessa, puoi renderizzare gli elementi con il proprio flusso content.get
O content.render
visualizza l'assistente:
<f:section name="Configuration>
... <flux:grid.column name="teaser"/> ...
</f:section>
<f:section name="Main>
<flux:content.render area="teaser"/>
<f:section>