7

TYPO3サイトの複数のページに表示したいコンテンツがいくつかあります。これをテンプレートに挿入することもできますが、そのコンテンツをリッチテキストエディターで編集できるようにすることもできます。

そのため、非表示のページを作成することを考えましたが、このコンテンツをテンプレートに挿入する方法がわかりません。

selectタイプミスステートメントが必要ですか?

また、フォローアップの質問として、ページ階層の直接の親としてこのページIDを持つページのみを含めるという言い方を追加できますか。

4

3 に答える 3

8

2番目の質問はよくわかりませんでした。他のページの下のページにのみレコードを含めたい場合、これは明らかに機能します。

[PIDinRootline = pages-uid, pages-uid, ...]
temp.foo = RECORDS
temp.foo {
    tables = tt_content
    source = ID # Enter the object's ID here
}
[end]

一方、他のページの子であるページのすべてのレコードを含める場合は、次のようにしてみてください。

1 = CONTENT
  1.table = tt_content
  1.select {
    pidInList = parent-uid
  }

私があなたを正しく理解したかどうかはわかりません。ドミトリ。

于 2009-08-31T20:14:02.117 に答える
5

すべてのページにtypo3コンテンツ要素を含めるから:

temp.foo = RECORDS
temp.foo {
    tables = tt_content
    source = ID # Enter the object's ID here
}

IDはコンテンツレコードIDであり、ページIDではないことに注意してください。

しかし、それは特定の親を持つページ/レコードのみを含める方法の質問に答えません。

于 2009-07-06T10:00:05.503 に答える
4

非表示のページを設定し、必要に応じて、ページ(または以下のページツリー全体)のタイプミスを介して、特定のページのコンテンツ要素を「インポート」できます。「トリック」は、selectステートメントでcolPosを使用することです。これを使用すると、複数の(異なる)コンテンツ要素を1つの(非表示の)ページに配置して、異なるページに表示することもできます(それらが「含まれる」列の設定によって異なります)。

例:

  • 非表示(またはシステム)ページを作成します(ここでは例-pageid = $ PID_STATIC)
  • このページにコンテンツ要素を作成します(テキスト)
  • このコンテンツ要素を編集して、右側の列に表示します(右側はcolPos = 2に等しい)
  • 次のタイプミスを、コンテンツ要素を表示するテンプレートに配置します。PID_STATICを介して定数にpid(pageId)を設定するか、タイプミスに「ハードコーディング」することができます。

lib.aditionalcontent = COA
lib.aditionalcontent { 
   10 = CONTENT
    10 {
        table = tt_content
        select.where = colPos = 2
        select.orderBy = sorting
        select.pidInList = {$PID_STATIC}
    }
  • 要素lib.aditionalcontentを、コンテンツを表示するテンプレートに追加します。例えば:

page.10 = TEMPLATE
page.10.template = FILE
page.10.template.file = fileadmin/maintemplate.htm
page.10.workOnSubpart = DOCUMENT_BODY
page.10.marks.ADITIONAL_CONTENT < lib.aditionalcontent

コンテンツ要素を設定した列に従ってcolPosを設定することに注意してください。そうしないと、表示されません。

特定のページに表示する必要がある/表示しない必要があるさまざまなコンテンツに対して、さまざまな列を使用してこれを行うことができます。

これは、システムフォルダや非表示のページでも機能します。

TemplaVoilaを使用する場合、これも機能するはずですが、リストビューに切り替えてコンテンツ要素の列を表示および設定する必要があります(この非管理者ユーザーに対して非表示になっていない場合)。

どのcolPos-numberが列のどの位置にあるかを確認するには、phpMyAdminに移動し、tt_contentテーブルでフィールド「colPos」を検索します。

于 2010-09-20T14:01:57.867 に答える