TYPO3 13:如何使用变量创建TypoScript条件?
在TYPO3 13中通过Site Settings配置页面ID启用TypoScript集合
可以实现这个需求,你原来的写法不生效是因为误用了Fluid的变量语法{mysettings.id},TypoScript条件里需要用正确的方式访问Site Settings变量,同时要注意配置格式和判断逻辑:
配置Site Settings
先在站点配置的settings里定义需要匹配的页面ID,建议用数组格式支持多个ID:settings: mysettings: id: - 123 - 456如果只需要单个ID,也可以写成
id: 123正确的TypoScript条件写法
如果你需要目标页面及其子页面都生效(匹配根线路径中的页面ID),使用以下条件:[site.settings.mysettings.id && tree.rootLineIds intersect site.settings.mysettings.id] @import './TypoScript/' [END]如果你只需要精确匹配当前页面ID(子页面不生效),则改成:
[site.settings.mysettings.id && tree.current in site.settings.mysettings.id] @import './TypoScript/' [END]
关键说明
- TypoScript条件中访问Site Settings必须用
site.settings.xxx的格式,不能用Fluid的{}语法 intersect操作符用于判断两个数组是否有交集,适合匹配根线路径中的任意目标IDtree.rootLineIds包含当前页面及其所有父页面的ID,tree.current是当前页面的ID
内容的提问来源于stack exchange,提问作者t3fan
相关产品推荐
相关产品推荐

