You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TYPO3 10.4:条件控制lib.content生成的代码是否正确?

TYPO3 10.4 代码问题分析

你提供的这段TS代码存在语法逻辑错误,无法实现预期的“条件成立时显示内容、否则为空”的效果,具体问题和修正方案如下:

核心问题点

  1. 错误的条件挂载层级:
    你将判断条件写在了10.stdWrap.cObject.if下,但styles.content.get本身就是一个内容对象(cObject),stdWrap.cObject的作用是替换当前内容对象,而非给现有对象加条件判断。正确的层级应该是直接使用stdWrap.if来控制当前内容的显示/隐藏。

  2. 冗余的数据源写法:
    获取当前页面的nav_hide字段,不需要用DB:pages:{page:uid}:nav_hide这种复杂的数据库查询写法,直接用page:nav_hide即可,TYPO3会自动读取当前页面的对应字段值,更简洁高效。

修正后的代码

如果你的需求是当当前页面nav_hide=1时显示内容,否则为空,修正后的代码如下:

lib.content = COA
lib.content {
    10 < styles.content.get
    10.stdWrap.if {
        value.data = page:nav_hide
        equals = 1
    }
}

如果你的需求是当当前页面nav_hide=0(即不隐藏导航)时显示内容,只需将equals = 1改为equals = 0即可。

额外说明

在TYPO3 10.4中,stdWrap.if的作用就是对当前内容对象应用条件判断:当条件满足时输出原内容,不满足时输出空内容,完全匹配你想要的逻辑。

内容的提问来源于stack exchange,提问作者user3852729

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 08:35:28