我创建了一个自定义内容元素而没有扩展tt_content列,因为数据库中的现有字段足以满足我的需要 .
我正在使用“header”,“header_link”和“image”但我需要“image”列在我的自定义内容元素中使用时具有不同的TCA配置 .
我可以全局更改配置:
$GLOBALS['TCA']['tt_content']['columns']['image']['config']['maxitems'] = 1;
但这不是我想要的 .
就像是
$GLOBALS['TCA']['tt_content']['my_custom_element']['columns']['image']['config']['maxitems'] = 1;
要么
$GLOBALS['TCA']['tt_content']['columns']['my_custom_element']['image']['config']['maxitems'] = 1;
不工作 .
有谁知道如何实现我想要的?谢谢! :-)
4 回答
它尚未记录,但以下代码适用于TYPO3 7.3
@dmnkhhn是对的 . 如果您的TYPO3 CMS版本更新或等于TYPO3 CMS 7.3,则以下是您的解决方案
示例
看一下 Configuration 后端模块TCA部分并浏览到(折叠)tt_content / types / html / columnsOverrides,看看TYPO3核心如何处理HTML内容元素的bodytext字段的覆盖 .
Configuration 后端模块是学习和理解TCA和其他全局变量的一个很好的工具,通过查看其他人已经完成了你想要的东西 .
列的TCA配置是某种最终的,这意味着它们被缓存一次,并且根据任何条件,不可能对一个字段使用不同的配置 .
典型的解决方案是添加自定义图像字段即 .
my_image
到tt_content
并仅替换CE类型中的原始image
字段喜欢(样本):
使用另一列的配置覆盖字段,如下所示: