6

私は現在、tt_contentUID のリストで構成された TYPO3 拡張機能を作成しています。これらは「テキスト」タイプのコンテンツ要素を指しており、拡張機能でそれらをレンダリングしたいと考えています。

リッチテキスト編集で入力したテキストをデータベースに入力するときに変換し、フロントエンドにレンダリングするときに再度変換する TYPO3 の特別な方法のため、bodytextフィールドのデータベースの内容をそのまま出力することはできません。

通常TYPO3でレンダリングされるように、これらのテキストをレンダリングしたいと思います。それ、どうやったら出来るの?

4

2 に答える 2

10

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 レンダリング パスでそれを実際のコンテンツに置き換えます。

体液

流動的なテンプレートを使用している場合は、VHScontent.renderビュー ヘルパーが便利です。

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

fluidcontent 要素にグリッド自体がある場合は、flux 独自のヘルパー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>
于 2010-04-07T13:31:30.413 に答える
6

私は数ヶ月前に同じ問題を抱えていました。今、私はtypo3開発者ではないと言わなければならないので、これが正しい解決策であるかどうかはわかりません。

しかし、私は次のようなものを使用しました:

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

私の拡張機能で、それは動作します。

于 2008-09-16T11:09:52.453 に答える