我想要在TYPO3网站的多个页面上显示一些内容。我可以将其插入到模板中,但我也希望在富文本编辑器中可以编辑该内容。
所以我想创建一个隐藏页面,但我不知道如何将这些内容插入到模板中。
是否需要select
typoscript声明?
另外,作为后续问题,我可以添加一些内容,只包含将页面ID 作为页面层次结构中的直接父级的页面。
答案 0 :(得分: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
}
不知道我能不能帮到你。 梅德。
答案 1 :(得分:5)
来自Include typo3 content elements on every page:
temp.foo = RECORDS
temp.foo {
tables = tt_content
source = ID # Enter the object's ID here
}
请注意,ID是内容记录ID,而不是页面ID。
但这并没有回答如何仅包含某个父母的页面/记录的问题。
答案 2 :(得分:4)
您可以根据需要设置隐藏页面,然后通过页面上的typoscript(或下面的整个页面树)“导入”给定页面上的内容元素。 “技巧”是将 colPos 与select-statement一起使用。有了这个,您甚至可以将多个(不同的)内容元素放在一个(隐藏)页面中,这些页面显示在不同的页面上(取决于它们所在的列的设置。
示例:
lib.aditionalcontent = COA
lib.aditionalcontent {
10 = CONTENT
10 {
table = tt_content
select.where = colPos = 2
select.orderBy = sorting
select.pidInList = {$PID_STATIC}
}
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,否则它将无法显示。
您可以使用不同的列为不同的内容执行此操作,这些内容必须显示/不应显示在特定页面上。
这也适用于sytemfolders和非隐藏页面。
如果您使用TemplaVoila,这也应该有效,尽管您必须切换到列表视图以查看和设置内容元素的列(如果没有为此非管理员用户隐藏)。
要找出哪个colPos-number是列的哪个位置转到phpMyAdmin并在 tt_content 表中搜索字段“colPos”。