Typoscript条件:backend_layout(带幻灯片)

时间:2016-09-21 10:50:22

标签: typo3

我使用这个条件

[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]

2 个答案:

答案 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的后端布局中设置每个块内部。