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

PrestaShop联系表单提交报404,后台未收消息,求助解决

解决PrestaShop联系表单提交报错404且后台无消息的问题

问题根源

调试发现tawkto.php第135行触发ContextErrorException,原因是json_decode()被传入数组而非预期的字符串,这直接导致联系表单提交逻辑异常,返回{"error":true,"message":"404 not found!"}且后台收不到消息。

具体解决步骤

1. 修复tawkto模块代码错误

  • 找到模块文件路径:/modules/tawkto/tawkto.php,定位到第135行
  • 检查该行对json_decode()的调用逻辑,调整为适配变量类型的写法:
    // 替换原json_decode调用代码
    if (is_array($target_variable)) {
        $data = $target_variable; // 若变量本身是数组,直接使用
    } elseif (is_string($target_variable)) {
        $data = json_decode($target_variable, true); // 强制返回数组格式,避免对象处理问题
    } else {
        $data = []; // 兜底初始化空数组
    }
    
  • 保存修改后清空PrestaShop缓存,测试联系表单提交是否恢复正常。

2. 禁用/替换tawkto模块

  • 若代码修改无效,直接在后台禁用tawkto模块,重新测试联系表单。如果禁用后功能正常,说明该模块与当前PrestaShop 1.7.8.8/PHP7.3环境存在兼容性问题。
  • 可尝试卸载模块后重新安装最新版本,或更换其他兼容的在线客服模块。

3. 排查路由与环境配置

  • 检查后台设计->页面中联系页面的URL配置,确保POST请求能正确路由到表单处理控制器。
  • 验证PHP环境:确认json扩展已启用,allow_url_fopen配置开启(可通过phpinfo()查看)。
  • 检查站点根目录的.htaccess文件,排除重写规则干扰表单POST请求的可能。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 00:31:14