TYPO3: Как визуализировать текстовые элементы tt_content в моих собственных расширениях?

В настоящее время я пишу расширение TYPO3, которое настроено со списком UID tt_content . Они указывают на элементы контента типа «текст», и я хочу сделать их своим расширением.

Из-за специального способа преобразования текста, который вы вводите в текстовом редакторе, когда он входит в базу данных, и в результате преобразования его во внешний интерфейс, TIPO3s я не могу просто выводить содержимое базы данных в поле bodytext .

Я хочу сделать эти тексты так, как они обычно получаются TYPO3. Как мне это сделать?

У меня была такая же проблема пару месяцев назад. Теперь я должен сказать, что я не разработчик typo3, поэтому я не знаю, правильно ли это решение.

Но я использовал что-то вроде этого:

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

в моем расширении, и это работает.

PHP

Это подходит для меня; он отображает любой элемент контента с данным ID:

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

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

Это тоже работает для не кэшированных плагинов. Вы получите строку типа <!--INT_SCRIPT.0f1c1787dc3f62e40f944b93a2ad6a81--> , но TYPO3 заменит это на следующем этапе рендеринга INT с реальным контентом.

жидкость

Если вы находитесь в жидком шаблоне, помощник вида VHS content.render полезен:

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

Если ваш элемент liquidcontent имеет саму сетку, вы можете визуализировать элементы с помощью собственного content.get content.render content.get или content.render :

 <f:section name="Configuration> ... <flux:grid.column name="teaser"/> ... </f:section> <f:section name="Main> <flux:content.render area="teaser"/> <f:section>