在TYPO3中使用后端页面部分可以显示多个页面

时间:2013-09-05 04:15:38

标签: layout typo3 backend

我是TYPO3的新手,在线阅读几个博客,了解后端布局和模板的概念。我的问题可能非常简单和基本。

我使用left, right and middle columns为我的页面创建了一个后端布局。此树下的页面也使用具有三列的相同后端布局。

但是,left and right列对所有网页都保持不变,只有middle column会有不同的内容。

现在我正在每页的左,右和中间栏添加内容,这是非常时间。

我可以在一页上为left and right添加内容,并在每个其他页面上覆盖middle列内容吗?

4 个答案:

答案 0 :(得分:1)

是的,这很简单。您需要使用TypoScript属性“slide”:

styles.content.getRight.slide = -1

表示TYPO3遍历根线,直到找到填充右列的页面(对左列使用getLeft)。

因此,您可能希望在根页面上显示右侧和左侧列的内容,并删除子页面中的内容。

请注意以下缓存问题:如果更改根页面上的内容,这并不意味着重建了继承此内容的页面缓存。如果要在编辑根页面上的内容时清除整个(!)缓存,请输入

TCEMAIN.clearCacheCmd = all

到根页面的页面TS配置。我不建议在更大的网站上这样做。

有一些扩展可以帮助您清除仅某个分支的缓存,例如http://typo3.org/extensions/repository/view/sm_clearcachecmhttp://typo3.org/extension-manuals/stg_clearcache/2.1.2/view/

在评论中编辑答案中的问题:如果要将幻灯片功能用于除默认列之外的其他列,则可以复制和修改内容对象:

lib.contentCol99 < styles.content.get # copies colPos = 0
lib.contentCol99.select.where = colPos=99 # uses the content from col 99
lib.contentCol99.slide = -1 # walk the rootline until content is found

编辑2:当您使用FLUIDTEMPLATE时,可以使用cObject帮助器使用内容:

<f:cObject typoscriptObjectPath="lib.contentCol99">
   Lorem ipsum dummy 
</f:cObject>

使用传统的子部件和基于标记的模板,将内容分配给模板,例如:

page = PAGE
page.10 = TEMPLATE
[...]
page.10.subparts.contentCol99 < lib.contentCol99

并将其用作模板中的子部分。

答案 1 :(得分:0)

lorenz 描述的slide是一种可能性,其他(如果您不希望允许编辑者修改列)是使用TypoScript填充这些列并将其隐藏在BE。

要在某些隐藏页面上“声明”内容,然后在其他页面上使用它,您只需使用CONTENT cObject(其中123是该隐藏页面的uid ),如:

styles.content.getLeft < styles.content.get
styles.content.getLeft {
    select.where = colPos=1
    select.pidInList = 123
} 

注意:从头顶写下,需要测试

要在BE中仅显示所需的列,请在PageTS

中使用此代码段

最后,您可以混合使用方法 - 在子页面上使用幻灯片+隐藏列,这样您就可以只在主页面上填充它,并且它将被继承到所有级别,而不会被覆盖。

答案 2 :(得分:0)

我也赞成@ biesior的解决方案。我在后端处理重复内容的方式不同,但是:

在您的情况下,BE布局只需要页面的中间列。

然后我会创建一个sysfolder,“放在一边”。在这个sysfolder中,我将为左cols内容创建一个页面(甚至是一个sysfolder),为右col创建一个页面。

现在,您可以通过Typoscript中的CONTENT提取这些页面的所有内容,然后进行设置。既不需要滑动也不需要隐藏。

答案 3 :(得分:0)

我不知道您的问题是否已解决,但如果您想避免使用TypoScript,可以使用此扩展程序:ad: content slider extension

This adds a checkbox to inherit content elements. 
Extends default TypoScript object "styles.content.get" for all columns.

检查要继承的内容部分,并在子页面的静态模板中包含扩展名,您就完成了!

例如:click here