You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TYPO3升级static_info_tables后sr_feuser_register插件报数据表不存在错

解决TYPO3中static_info_tables升级后sr_feuser_register的表不存在错误

我来帮你搞定这个头疼的问题——升级static_info_tables扩展后,前端用户注册页面一直报Table 'db_name.tx_staticinfotables_domain_model_currency' doesn't exist的错误,咱们一步步排查解决:

1. 先把数据库迁移做彻底

升级static_info_tables后,新的表结构大概率没同步到数据库里。你可以这么操作:

  • 登录TYPO3后端,进入系统工具 > 数据库分析
  • 点击「Compare」按钮,看看有没有未执行的数据库变更(比如创建tx_staticinfotables_domain_model_currency表)
  • 勾选所有待执行的变更,点击「Execute」完成数据库更新

2. 确认表映射配置完全生效

你提到已经配置了表映射,但得确保配置位置和语法都没问题:

  • 映射配置要放在ext_localconf.php或者站点的AdditionalConfiguration.php里,完整的Currency模型映射应该是这样的(补全你没写完的部分):
$GLOBALS['TYPO3_CONF_VARS']['EXT']['extbase']['persistence']['classes'][\SJBR\StaticInfoTables\Domain\Model\Currency] = [
    'mapping' => [
        'tableName' => 'static_currencies',
        'columns' => [
            'cu_decimal_digits' => ['mapOnProperty' => 'decimalDigits'],
            'cu_iso_3' => ['mapOnProperty' => 'isoCode3'],
            // 其他需要映射的字段按需补充
        ]
    ]
];
  • 配置完之后,一定要清空TYPO3所有缓存(包括配置缓存、Extbase缓存,直接点后端的「Flush all caches」最稳妥)

3. 检查扩展版本兼容性

sr_feuser_register可能没适配你升级后的static_info_tables版本:

  • 去sr_feuser_register的扩展文档里,确认它支持你当前用的static_info_tables版本
  • 如果版本不兼容,要么把static_info_tables降级到兼容版本,要么把sr_feuser_register更到最新稳定版

4. 验证插件的表单字段配置

sr_feuser_register的注册表单如果用到了Currency相关字段,得确认没硬编码旧表名:

  • 进入插件配置,检查「表单字段」里的Currency相关项,确保引用的是正确的Extbase属性,不是直接的数据库表字段
  • 如果你用了自定义表单模板,也得检查模板里的字段引用是否正确

5. 手动核对数据库表

要是前面的步骤都没用,直接登录数据库看看:

  • 确认static_currencies(旧表)和tx_staticinfotables_domain_model_currency(新表)是否存在
  • 如果新表不存在,手动运行static_info_tables扩展目录下的ext_tables.sql和ext_tables_static+adt.sql脚本创建表

小提示:TYPO3的Extbase缓存经常会“卡”住配置,所以每次改完配置,除了后端清缓存,也可以手动删掉服务器上typo3temp目录里的缓存文件,确保配置完全生效。

内容的提问来源于stack exchange,提问作者Cristian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:30:15