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

TYPO3 v11中TCA自定义renderType搭配type=none配置失效咨询

TYPO3 v11中type="none"字段触发DBAL异常的解决方案

升级TYPO3到v11版本后,原v10中正常运行的TCA配置(type="none"+自定义renderType)出现异常:DataHandler会尝试持久化该字段,导致Doctrine\DBAL\Exception\InvalidFieldNameException,提示未知列tx_awesomeicons_search,且在tt_content等其他表添加同类字段时问题一致。

问题原因

TYPO3 v11对type="none"字段的处理逻辑有调整:当字段配置了自定义renderType时,默认不再自动跳过持久化流程,需要显式声明禁止持久化。

解决步骤

  1. 添加持久化禁用配置
    在字段的config数组中新增'persistence' => false,明确告知DataHandler不保存该字段的数据:
$GLOBALS['TCA']['pages']['columns']['tx_awesomeicons_search'] = [
    'exclude' => 1,
    'label' => 'LLL:EXT:awesomeicons/Resources/Private/Language/Tca.xlf:awesomeicons.icon.search',
    'config' => [
        'type' => 'none',
        'renderType' => 'plusAwesomeicons',
        'size' => 15,
        'persistence' => false, // 显式禁止持久化
    ],
];
  1. 检查自定义renderType实现
    确认自定义plusAwesomeicons的渲染代码(如Fluid模板或PHP类)中,表单元素未设置与字段名一致的name属性——如果存在name="tx_awesomeicons_search",会导致DataHandler捕捉到提交值并尝试写入数据库,需移除或修改该属性。

内容的提问来源于stack exchange,提问作者Jürgen Pfusterschmied

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 16:57:16