我使用这个条件
[globalVar = GP:colPos==0]&&[page|backend_layout = pagets__MainTemplate]
我的问题是我的“子页面”没有选择backend_layout,因为设置了父页面“Backend Layout(此页面的子页面)”。因此该条件对子页面不起作用。
可以创造这样的条件吗?
lib.backendLayout = TEXT
lib.backendLayout {
data = levelfield:-1, backend_layout_next_level, slide
override.data = TSFE:page|backend_layout
}
我希望以这种方式在BE列中执行白/黑名单CType:
[globalVar = GP:colPos==0]&&[page|backend_layout = pagets__MainTemplate]
TCEFORM.tt_content.CType.keepItems := addToList(header)
[end]
答案 0 :(得分:2)
据我所知,因为您只能使用“页面”条件访问当前页面记录。
相反,你可以
a)编写自己的条件(参见https://docs.typo3.org/typo3cms/TyposcriptReference/8.7/Conditions/Reference/Index.html#custom-conditions或从版本9开始https://docs.typo3.org/typo3cms/TyposcriptReference/Conditions/Reference.html#extending-the-expression-language-with-own-functions-like-old-userfunc)
b)使用userFunc(比如“a”仅旧的且不那么花哨;)) - 请参阅https://docs.typo3.org/typo3cms/TyposcriptReference/8.7/Conditions/Reference/Index.html#userfunc
新c)遵循Jigals建议(或使用类似的扩展 - 有一些 - 但他们大多数比你需要的更多)
---问题更新后编辑---
如你所愿,它在TSConfig中工作c)实际上不是一个选项。
c)取决于您实际想要实现的条件,如果您的条件为真,则使用if和数据(如您的描述中)直接在TS对象上应该具有不同的行为。
供参考:
TSConfig条件与TS条件之间的差异: https://docs.typo3.org/typo3cms/TSconfigReference/8.7/Conditions/Index.html#differences-to-conditions-in-typoscript-templates
答案 1 :(得分:0)
作为Susi解决方案的替代方案,您可以使用Gridelements。此扩展具有以下功能:您可以在允许CE的后端布局中设置每个块内部。