我将尝试解释我的问题尽可能具体。
在BackendLayouts文件夹中创建了一个称为Portal.ts的拼写文件,添加了几行和几列。在正确的文件夹中添加了Portal.html,并在Layouts文件夹中进行了布局,该布局使用呈现了Portal.html模板。 (这是我实现所有魔术的地方)
现在,我要做的是在后端添加内容。所以我要做的是创建一个名为Portal的页面。然后出现并选择“门户”布局。保存了,它似乎起作用了。大!
现在,我使用后端将一些内容添加到列中。我现在的问题是,如何在模板中检索该内容?我做了一个标题,图像和文本。
这是我的Portal.ts:
backend_layout {
colCount = 2
rowCount = 2
rows {
1 {
columns {
1 {
name = Hoofdteksten
colspan = 2
colPos = 1
}
}
}
2 {
columns {
1 {
name = Afbeeldingen
colspan = 3
colPos = 3
}
}
}
}
}
这是模板文件:
<f:layout name="Portal" />
<f:section name="content">
<div id="portal"> RENDER HEADER FROM BACKEND HERE </div>
</f:section>
答案 0 :(得分:0)
您可以在TypoScript中的FLUIDTEMPLATE
对象中设置变量。像这样:
page = PAGE
page.1 = FLUIDTEMPLATE
page.1 {
templateName = Basic2ColumnPage
templateRootPaths.1 = fileadmin/sitedesign/Resources/Private/Layouts
variables {
contentNormal < styles.content.get
contentRight < styles.content.get
contentRight.select.where = colPos = 2
}
}
styles.content.get
用于获取内容。默认情况下,它将使用colPos = 0
从当前页面中获取内容,因此,如果要从其他列中获取内容,请添加select.where = colPos = 2
(其中2是要从中获取内容的列)。然后,您可以在模板中使用变量。
有关更多信息,请参见https://docs.typo3.org/typo3cms/TemplatingTutorial/BasicFluidTemplates/Index.html
答案 1 :(得分:0)
您需要全局TypoScript配置来呈现内容。这可能看起来像这样:
lib.content {
render = CONTENT
render {
table = tt_content
select {
orderBy = sorting
where.cObject = COA
where.cObject {
10 = TEXT
10 {
field = colPos
intval = 1
ifEmpty = 0
noTrimWrap = | AND colPos=||
}
}
}
}
}
如果您的项目中有类似的内容,则可以在cObject
VieHelper的帮助下在您的流体模板中使用它,如下所示:
<div id="header">
<f:cObject typoscriptObjectPath="lib.content.render" data="{colPos:1}" />
</div>
上的博客文章中对此进行了详细描述。