TYPO3 TCA:selectMultipleSideBySide如何获取pid=0的外部表数据?
解决TYPO3 TCA selectMultipleSideBySide获取pid=0数据的问题
问题核心是TYPO3默认会对带pid字段的外部表应用pid IN (当前页面ID)的过滤条件,导致你追加的AND tx_foreign_table.pid = 0条件和默认过滤冲突,最终无匹配结果。
可行的解决配置如下:
'config' => [ 'type' => 'select', 'renderType' => 'selectMultipleSideBySide', 'foreign_table' => 'tx_foreign_table', 'foreign_table_where' => 'AND tx_foreign_table.pid = 0 AND ###ENABLEFIELDS###', 'disable_pid_check' => 1, // 禁用默认的页面pid过滤 'size' => 6, 'autoSizeMax' => 30, 'maxitems' => 9999, 'multiple' => 1, // 多选渲染类型需设置为1 ],
关键说明:
- 添加
disable_pid_check => 1:取消TYPO3默认的当前页面pid过滤逻辑,避免和你指定的pid=0条件冲突。 - 保留
###ENABLEFIELDS###:确保只显示未删除、未隐藏、在有效期内的记录,符合TYPO3的常规权限逻辑。 - 修正
multiple => 1:selectMultipleSideBySide是多选渲染类型,需将multiple设为1才能正常启用多选功能。
内容的提问来源于stack exchange,提问作者lisardo
相关产品推荐
相关产品推荐

