【问题标题】:Typoscript: how to select a set of subpages or how to make a condition based on page idTyposcript:如何选择一组子页面或如何根据页面id创建条件
【发布时间】:2011-10-28 14:30:55
【问题描述】:

目前我正在使用PIDinRootline。这很好用。

[PIDinRootline=8,9]
    //do something
[end]

[PIDinRootline=6,7,11]
    //do something
[end]

现在我想处理 7 下的一组子页面。目前,父级具有 id 7 的所有页面都具有相同的代码。但现在我想要在第 128 页及其所有子页面上有所不同。是否允许制作类似的东西

[PIDinRootline=8,9]
    //do something
[end]

[PIDinRootline=6,7,11]
    //do something different
[end]
[PIDinRootline=128]
    //do something
[end]

所以第 128 页低于 7。设置被覆盖,因为首先发生 PIDinRootline=7 的设置,然后是 PIDinRootline=128 的设置。这允许吗?

【问题讨论】:

    标签: select typo3 conditional-statements typoscript


    【解决方案1】:

    绝对允许。只需确保以与引用的顺序相同的顺序定义条件。 您实际上可以省略一些[end] 条件。 注意:这适用于 TYPO3 至版本 8 / 9.3:

    [PIDinRootline=8,9]
        //do something
    [PIDinRootline=6,7,11]
        //do something different
    [PIDinRootline=128]
        //do something
    [end]
    

    TYPO3 9.4 已弃用旧的条件语法。新语法基于symfony expression language,如下所示:

    [8 in tree.rootLineIds || 9 in tree.rootLineIds]
        //do something
    [6 in tree.rootLineIds || 7 in tree.rootLineIds || 11 in tree.rootLineIds]
        //do something different
    [128 in tree.rootLineIds]
        //do something
    [end]
    

    其他有用的页面相关条件是(旧语法):

    • [globalVar = TSFE:id = 128] // 仅在 PID 128 上
    • [PIDupinRootline = 128] // 仅在 PID 128 的子页面上(不包括 PID 128)
    • [treeLevel = 1] // 属于树级别 1 的所有页面(子页面 根级)

    检查TYPO3 reference 以获得新的条件语法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-10
      • 2021-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-29
      • 1970-01-01
      相关资源
      最近更新 更多