TYPO3 - BUG $ TCA数组中没有条目

时间:2018-02-07 09:18:29

标签: typo3 typo3-4.5

我的TYPO3 4.5网站上有一个错误:

  

核心:异常处理程序(WEB):未捕获TYPO3例外:#1283790586:   该表的$ TCA数组中没有条目   " pages_language_overlay&#34 ;.这意味着函数enableFields()   使用无效的表名作为参数调用。 |   文件/t3lib/class.t3lib_page.php中抛出InvalidArgumentException   第1150行

我不明白会发生什么,但我的后端仍然可用。 如何解决?

2 个答案:

答案 0 :(得分:0)

美国答案:TYPO3 4.5已经过时了。将您的安装升级到更新版本。也许Bug已经全部解决了。

如果无法进行更新,则问题是您所做的是抛出错误。最近做了哪些改变?很快就安装或更新了什么扩展?

答案 1 :(得分:0)

我假设您对TYPO3了解不多,所以我试着说明TYPO3是如何工作的(关于旧版本)。

TYPO3具有数据库中表格和字段的定义 第一部分是MySQL定义(因为它可能是除MySQL以外的其他数据库) 第二部分(TCA = T YPO3 C onfiguration A rray)是这些表如何为编辑器构建BackEnd(BE)接口的定义

由于这些信息可以通过扩展来增强,每个扩展可以将它的信息添加到(缓存)池中,并且该池被视为参考。

数据库定义位于 ext_tables.sql 文件中。在 ext_localconf.php ext_tables.php 中生成了TCA 。今天TCA修改应该在Configuration/TCA/ tablename .php(针对新表格)或Configuration/TCA/Override/ tablename .php(用于修改现有表格)。

在为每个调用包含和执行所有这些文件之前,它们将被收集并存储为一个生成的PHP文件。

您的问题可能会发生,因为收集的文件中存在语法错误,并且错误中所有信息都已建立,但错误之后的所有内容都将丢失。
尝试清理您的安装并删除这些缓存:在前6版本中,temp_CACHED_<hash>_ext_tables.php文件夹中有temp_CACHED_<hash>_ext_localconf.phptypo3conf/个文件。全部删除它们。下次调用TYPO3(FE或BE)将重建两个文件。确保它们没有语法错误。

在安装工具(<domain>/typo3/install/)中,您可以清除所有缓存,并将现有数据库与所有活动(!)扩展中收集的定义进行比较。如果存在差异,则数据库可以&#39;更正在更改任何内容之前,请务必先备份数据库。