TYPO3: Comment puis-je rendre des éléments de texte tt_content dans mes propres extensions?

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

  •  09-06-2019
  •  | 
  •  

Question

J'écris actuellement une extension TYPO3 qui est configurée avec une liste de tt_content UID. Ceux-ci pointent vers des éléments de contenu de type & Quot; text & Quot; et je veux les rendre par mon extension.

En raison de la manière spéciale dont TYPO3 transforme le texte que vous entrez dans l’édition de texte enrichi lorsqu’il entre dans la base de données, et le transforme encore une fois lorsqu’il est rendu au frontend, je ne peux pas simplement sortir le contenu de la base de données du bodytext champ.

Je souhaite rendre ces textes comme ils le seraient habituellement par TYPO3. Comment je fais ça?

Était-ce utile?

La solution

J'ai eu le même problème il y a quelques mois. Maintenant, je dois dire que je ne suis pas un développeur typo3, donc je ne sais pas si c'est la bonne solution.

Mais j'ai utilisé quelque chose comme ça:

$output .= $this->pi_RTEcssText( $contentFromDb );

dans mon extension et ça marche.

Autres conseils

PHP

Cela fonctionne pour moi; il restitue n'importe quel élément de contenu avec l'ID donné:

function getCE($id)
{
    $conf['tables'] = 'tt_content';
    $conf['source'] = $id;
    $conf['dontCheckPid'] = 1;
    return $GLOBALS['TSFE']->cObj->cObjGetSingle('RECORDS', $conf);
}

Voir http://lists.typo3.org/ pipermail / typo3-dev / 2007-May / 023467.html

Cela fonctionne aussi pour les plugins non cachés. Vous obtiendrez une chaîne semblable à <!--INT_SCRIPT.0f1c1787dc3f62e40f944b93a2ad6a81-->, mais TYPO3 la remplacera lors du prochain passage de rendu INT par le contenu réel.

Fluide

Si vous vous trouvez dans un modèle fluide, le VHS content.render voir helper est utile:

<v:content.render contentUids="{0: textelementid}"/>

Si votre élément fluidcontent a lui-même une grille, vous pouvez rendre les éléments avec l'aide de flux 'propre content.get ou <=> view:

<f:section name="Configuration>
    ... <flux:grid.column name="teaser"/> ...
</f:section>
<f:section name="Main>
    <flux:content.render area="teaser"/>
<f:section>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top