TYPO3 10 LTS中TypoScript多条件组合配置问题求助
TYPO3 10 LTS TypoScript组合条件失效修复
根因
TYPO3 10 LTS重构了TypoScript条件解析逻辑,9 LTS及之前版本支持的[条件1] && [条件2]跨方括号拼接多条件的写法已被废弃。新版本要求所有判断逻辑必须放在同一对方括号内,逻辑运算符直接在括号内连接表达式,跨括号的逻辑拼接不会被解析器识别。
之前调整后的写法存在两个明确问题:
- 保留了跨方括号的
&&拼接形式,第二个层级判断条件实际不会被纳入组合逻辑 - 层级判断数值写错:原9 LTS逻辑判断
treeLevel = 4,调整后误写为tree.level == 5,数值不匹配无法命中目标页面
正确代码
[31 in tree.rootLineIds && tree.level == 4] page.10.variables.cagmenu < lib.cagpagebrowser [global]
注意事项
tree.level的计数规则和旧版treeLevel完全一致:站点根页层级为0,每向下一级数值加1。如果业务实际要匹配第5级页面,再把判断值改为5即可,不需要额外调整计数逻辑。- 多条件或判断直接在同一方括号内用
||连接,支持小括号调整逻辑优先级,示例:
[(31 in tree.rootLineIds || 42 in tree.rootLineIds) && tree.level == 3] # 匹配根线包含31或42、且处于第3级的页面 [global]
内容的提问来源于stack exchange,提问作者Michael Gnessner
相关产品推荐
相关产品推荐

