TCA 基础 · 第 8 题,共 12 题
在 TCA 中新增了一个字段,但它没有出现在编辑表单中,连管理员也看不到。典型原因有哪些?
有 2 个正确答案。 简单
显示答案
答案
- B 修改后没有清除缓存
- D 该字段没有列在对应记录类型的 showitem 中
解析
TYPO3 不会在每次请求时重新读取 TCA 文件,而是把合并后的 TCA 保存在缓存中;修改后需要清除缓存,例如用 vendor/bin/typo3 cache:flush,或在 System > Maintenance 模块中通过"Flush TYPO3 and PHP Cache"。此外,仅在 columns 下定义字段是不够的:它还必须出现在记录类型的 showitem 中,对于其他扩展的表,最简单的方式是使用 ExtensionManagementUtility::addToAllTCAtypes()。exclude 在这里不可能是原因,因为它只对非管理员隐藏字段,而 ctrl.label 只决定记录标题。