代码之家  ›  专栏  ›  技术社区  ›  arturh

typo3:如何在自己的扩展中呈现tt_内容文本元素?

  •  6
  • arturh  · 技术社区  · 17 年前

    我目前正在编写一个typo3扩展,它配置了 tt_content UID的 这些指向“文本”类型的内容元素,我想通过扩展来呈现它们。

    由于在富文本编辑中输入的文本在进入数据库时采用了3种特殊的转换方式,并且在呈现到前端时再次对其进行转换,因此我不能只输出 bodytext 字段。

    我想呈现这些文本,就像通常用typo3呈现的一样。 我该怎么做?

    2 回复  |  直到 9 年前
        1
  •  6
  •   Jan Hančič    17 年前

    几个月前我也遇到过同样的问题。现在我必须说我不是typo3开发者,所以我不知道这是不是正确的解决方案。

    但我用了这样的东西:

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

    在我的扩展中,它起作用了。

        2
  •  9
  •   cweiske agentofuser    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.get 内容渲染 视图助手:

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