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

Prestashop 1.7.8.8前台生成后台URL报错:PS_ADMIN_DIR未定义如何解决?

解决Prestashop 1.7.8.8前台生成后台管理URL的问题

问题根源

前台环境默认不会初始化后台专属常量PS_ADMIN_DIR,而getLegacyAdminLink方法依赖该常量拼接admin目录路径,导致URL缺失admin目录并触发报错。

解决方案

1. 手动定义PS_ADMIN_DIR常量

在调用getLegacyAdminLink之前,先定义该常量(注意替换为你的实际后台目录名,比如自定义的admin123):

if (!defined('PS_ADMIN_DIR')) {
    // 假设后台目录名为admin,若为自定义名称请替换
    define('PS_ADMIN_DIR', _PS_ROOT_DIR_ . DIRECTORY_SEPARATOR . 'admin');
}

2. 调用getLegacyAdminLink生成URL

常量定义完成后,再执行原方法即可生成正确URL:

$adminUrl = $this->context->link->getLegacyAdminLink('AdminKbProductApprovalList', false);

3. 备选方案:手动拼接URL

如果上述方法仍有异常,可直接手动拼接URL:

$adminDir = 'admin'; // 替换为你的实际后台目录名
$adminUrl = $this->context->link->getBaseLink() . $adminDir . '/index.php?controller=AdminKbProductApprovalList';

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 18:22:01