我是TYPO3和Fluid的新手,并尝试使用类似于以下内容的Fluid模板显示页面内容:
<div id="content">
<f:format.html>{content}</f:format.html>
</div>
页面数据通过后端使用两列布局(colPos=0, colPos=1
)输入。
我现在正试图在div中显示第一列(colPos=0
)的内容
目前,我的TYPO脚本如下所示:
page = PAGE
page {
# ...
5 = FLUIDTEMPLATE
5 {
file = fileadmin/templates/default.html
# ...
variables {
pageTitle = TEXT
pageTitle.data = page:title
content = CONTENT
content {
table = tt_content
select {
where=colPos=0
}
renderObj = COA
renderObj {
10 = TEXT
10.field = bodytext
}
}
}
}
它以这种方式工作,但我无法摆脱我的5.variables.content过于复杂的感觉。
我看到一些使用content < styles.content.get
作为替代方案的解决方案,但使用此方法会导致生成的div为空。
有没有更优雅的方式(即在这种情况下更短)来实现我的目标?
答案 0 :(得分:2)
关于你的问题哪种方法更优雅 (我不会使用液体,但我认为它是一般的Typoscript):
如果你想使用css_styled_content,但是比快捷键更具灵活性和透明度&#34; get&#34;,&#34; getLeft&#34;等,用这个:
content < styles.content.get
content.select.where = colPos = 0
在这种情况下无需指定content = CONTENT。
在您上面编写的方式中,您可能需要添加:
10.parseFunc = < lib.parseFunc_RTE
到您的renderObj,否则,自动链接的电子邮件地址等不会在内容中呈现。
如果要完全控制标记,则使用CONTENT对象的原始方法优于css_styled_content。但是你必须涵盖编辑应该使用的每个字段。
我总是使用这篇文章:http://www.typo3wizard.com/en/articles/explaining-the-content-object.html
另一方面,使用css_styled_content,您可以免费解析所有字段 - 但是您也可以获得它将为您编写的所有标记。
在/typo3/sysext/css_styled_content/static/setup.txt中查看csc的静态模板可能会有所帮助,看看它的作用。
答案 1 :(得分:0)
我不使用液体,只是用于我的项目的普通TS,但我希望得到不好的帮助。
在后端,如果你没有“触碰”em,那么cols是这样的:
| col1(左)| col0(正常)| col2(右)| col3(边境)|
我所做的是“正常”布局:
page.10 = TEMPLATE
page.10 {
subparts{
LEFT-CONTENT < styles.content.getLeft
CONTENT < styles.content.get
RIGHT-CONTENT < styles.content.getRight
}
marks {
DESCRIPTION < styles.content.getBorder
}
如果你需要更多东西,你可以使用这样的东西来生成一些不在该页面上的内容,并可以用它在所有页面上显示它。
subparts{
LEFT-CONTENT < styles.content.getLeft
LEFT-CONTENT {
select.pidInList = 50
select.where = colPos=0
select.orderBy = sorting
wrap = <div class="col100">|</div>
}
答案 2 :(得分:0)
page.5.variables.content&lt; styles.content.get
当然,您必须安装 CSS样式内容扩展程序(默认)和TypoScript模板中包含的静态模板“CSS样式内容”(标签:包含)
答案 3 :(得分:0)
替代解决方案:https://fluidtypo3.org/viewhelpers/vhs/development/Content/RenderViewHelper.html(以及get
和random
获取/渲染对应方)。