首页 文章

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

提问于
浏览
0

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

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

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

2 回答

  • 0

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

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

  • 0

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

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

    由于这些信息可以通过扩展来增强,因此每个扩展都可以将其信息添加到(缓存)池中,并且此池被视为引用 .

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

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

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

    在安装工具( <domain>/typo3/install/ )中,您可以清除所有缓存,并将现有数据库与所有活动(!)扩展中收集的定义进行比较 . 如果存在差异,则数据库可以是'corrected' . Be sure to have a database backup before you change anything.

相关问题