【发布时间】:2019-09-17 14:25:48
【问题描述】:
TYPO3 9,但可能独立于 TYPO3 版本
我已经安装了news 和eventnews。 eventnews 将字段 location_simple 添加到表 tx_news_domain_model_news。在后端,这是input 类型。我希望它是text 类型。因此,我在我的站点包中添加了一个文件 Configuration/TCA/Overrides/tx_news_domain_model_news.php:
<?php
if( !defined('TYPO3_MODE') ) {
die ('Access denied.');
}
// Modify location simple
$GLOBALS['TCA']['tx_news_domain_model_news']['columns']['location_simple']['config']['type'] = 'text';
但这没有任何效果。
我的站点包包含在最后一个位置,因此它应该能够覆盖eventnews 的 TCA。什么是正确的魔法?
【问题讨论】:
-
你清除系统缓存了吗?您的更改在配置模块中可见吗?您可能需要扩展依赖项来明确顺序。 / 您需要更改 SQL 字段声明吗?
-
系统缓存被清除,但在配置模块中看不到更改。 “更改 SQL 字段声明”是什么意思?
-
并且扩展依赖并不能解决问题。我想知道是否需要加载具有特殊功能的 TCA 并将其与我曾经在某处看到但不记得在哪里的其他特殊功能合并。
-
扩展依赖强制一个特殊的扩展顺序,因此包含或增强收集和缓存的配置文件的顺序。如果使用
Configuration/TCA/Overrides/...不起作用,请查看所有相关扩展的ext_tables.php和ext_localconfiguration.php。在通过连接 TCA 配置构建 TCA 之后,这些文件可能会修改 TCA。在这种情况下,您需要构建相同的(脏)TCA 修改。 -
eventnews通过addTCAcolums添加字段,这只是一个array_merge。这似乎是一个好方法。难道Overrides是按字母顺序工作的吗?我的站点包的扩展键以“c”开头,因此始终位于“eventnews”之前。
标签: typo3 typo3-7.6.x typo3-8.x typo3-9.x