首页 文章

TYPO3:如何在我自己的扩展中呈现tt_content文本元素?

提问于
浏览
6

我正在编写一个TYPO3扩展,配置了 tt_content UID的列表 . 这些指向"text"类型的内容元素,我想通过我的扩展来呈现它们 .

由于TYPO3s特殊的方式转换您在进入数据库时在富文本编辑中输入的文本,并在渲染到前端时再次转换它,我不能只输出 bodytext 字段的数据库内容 .

我想渲染这些文本,因为它们通常会被TYPO3渲染 . 我怎么做?

2 回答

  • 6

    几个月前我遇到了同样的问题 . 现在我必须说我不是开发人员,所以我不知道这是不是正确的解决方案 .

    但是我使用了这样的东西:

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

    在我的扩展中,它的工作原理 .

  • 9

    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 view helper很有用:

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

    如果您的fluidcontent元素本身有一个网格,您可以使用flux'自己的 content.getcontent.render 视图帮助器渲染元素:

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

相关问题