Typoscript:如何选择一组子页面或如何根据页面ID创建条件

tes*_*ing 1 select typo3 conditional-statements typoscript

目前我正在与之合作PIDinRootline.这很好用.

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

[PIDinRootline=6,7,11]
    //do something
[end]
Run Code Online (Sandbox Code Playgroud)

现在我想要解决7下的一组子页面.目前,父节点具有id 7的所有页面具有相同的代码.但现在我想在页面ID 128及其所有子页面上找到不同的东西.它是否允许制作类似的东西

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

[PIDinRootline=6,7,11]
    //do something different
[end]
[PIDinRootline=128]
    //do something
[end]
Run Code Online (Sandbox Code Playgroud)

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

Mat*_*eng 5

定义允许.只需确保以与引用相同的顺序定义条件.你实际上可以省略一些[end]条件:

[PIDinRootline=8,9]
    //do something
[PIDinRootline=6,7,11]
    //do something different
[PIDinRootline=128]
    //do something
[end]
Run Code Online (Sandbox Code Playgroud)

其他有用的页面相关条件是:

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