PrestaShop超级管理员登录触发Ps_metrics模块类型错误求助
解决PrestaShop 1.7.7.4超级管理员登录触发Ps_metrics类型错误的问题
针对你遇到的PrestaShop\Module\Ps_metrics\Helper\PrestaShopHelper::getTokenFromAdminLink()返回null导致的类型错误,且仅超级管理员账号受影响的问题,可尝试以下解决方案:
重置Ps_metrics模块
进入后台「模块管理」找到Ps_metrics模块,先禁用再重新启用。模块可能在超级管理员账号下存在配置缓存异常,重置操作会让模块重新生成适配超级管理员的token逻辑。手动修复模块方法逻辑
若重置无效,找到模块文件modules/ps_metrics/Helper/PrestaShopHelper.php,定位到getTokenFromAdminLink()方法,添加null值兜底处理,确保返回string类型:public function getTokenFromAdminLink(): string { $link = $this->context->link->getAdminLink('AdminDashboard', true); $token = Tools::getValue('token', '', $link); // 处理null情况,返回空字符串或生成默认token return $token ?? ''; }修改完成后,进入后台「高级参数」->「性能」页面清空所有缓存。
校验超级管理员权限
进入后台「员工管理」编辑超级管理员账号,重新保存所有权限设置。虽然超级管理员默认拥有全权限,但数据库中权限记录可能存在异常,重新保存可修复这类问题。清除全链路缓存
除了后台清空缓存,还需清除浏览器的Cookie和本地缓存,避免旧的后台链接缓存导致token获取失败。升级Ps_metrics模块
进入模块市场检查Ps_metrics是否有更新版本,新版本通常会修复这类账号适配的bug,升级到最新版是最彻底的解决方式。
内容的提问来源于stack exchange,提问作者Lukyno Luky
相关产品推荐
相关产品推荐

