7

我有一些内容想出现在我的 TYPO3 网站的多个页面上。我可以将其插入到模板中,但我也希望该内容在富文本编辑器中是可编辑的。

所以我有了创建一个隐藏页面的想法,但我不知道如何将这些内容插入到模板中。

它需要select打字稿声明吗?

另外,作为一个后续问题,我可以添加一些内容吗,仅包括具有此页面 ID作为其在页面层次结构中的直接父级的页面。

4

3 回答 3

8

第二个问题我没听明白。如果您只想将某些记录包含在其他页面下的页面中,那么这显然会起作用:

[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

您可以设置一个隐藏页面,然后根据需要通过页面(或下面的整个页面树)上的打字稿“导入”给定页面上的内容元素。“技巧”是将colPos与 select 语句一起使用。有了这个,您甚至可以将多个(不同的)内容元素放在一个(隐藏的)页面中,显示在不同的页面上(取决于它们“所在”的列的设置。

例子:

  • 创建隐藏(或系统)页面(此处为 example-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 编号是该列的哪个位置,请转到 phpMyAdmin 并在tt_content表中搜索字段“colPos”。

于 2010-09-20T14:01:57.867 回答