【问题标题】:TYPO3 how to modify TCA?TYPO3如何修改TCA?
【发布时间】:2019-09-17 14:25:48
【问题描述】:

TYPO3 9,但可能独立于 TYPO3 版本

我已经安装了newseventnewseventnews 将字段 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.phpext_localconfiguration.php。在通过连接 TCA 配置构建 TCA 之后,这些文件可能会修改 TCA。在这种情况下,您需要构建相同的(脏)TCA 修改。
  • eventnews 通过addTCAcolums 添加字段,这只是一个array_merge。这似乎是一个好方法。难道Overrides 是按字母顺序工作的吗?我的站点包的扩展键以“c”开头,因此始终位于“eventnews”之前。

标签: typo3 typo3-7.6.x typo3-8.x typo3-9.x


【解决方案1】:

这对我有用:重命名我的站点包扩展名,使其在“e”之后有一个按字母顺序排列的扩展键。

似乎 /Configuration/TCA/Overrides 中的文件是按字母顺序读取的。就我而言,我想覆盖eventnews。所以我的站点包扩展密钥必须以 [f-z] 中的一个字母开头。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多