TYPO3中Display Cond的OR嵌套AND不生效问题求助
解决displayCond多条件组合失效问题
问题出在你使用了重复的数组键名AND,PHP数组中相同键名的元素会被后续元素覆盖,导致第一个(CType为text且layout为1)的条件被丢弃,只有最后一组AND条件生效。
修正后的代码可以采用两种写法:
写法一:将每个AND条件作为OR数组的独立元素
'displayCond' => [ 'OR' => [ [ 'AND' => [ 'FIELD:layout:=:1', 'FIELD:CType:=:text', ], ], [ 'AND' => [ 'FIELD:layout:=:2', 'FIELD:CType:=:textpic', ], ], ], ],
写法二:使用字符串形式的组合条件
'displayCond' => [ 'OR' => [ 'AND:FIELD:layout:=:1,FIELD:CType:=:text', 'AND:FIELD:layout:=:2,FIELD:CType:=:textpic', ], ],
两种写法都能实现你需要的「(CType=text且layout=1) 或 (CType=textpic且layout=2)」的显示逻辑,避免键名覆盖导致的条件丢失。
内容的提问来源于stack exchange,提问作者dade
相关产品推荐
相关产品推荐

