Prestashop 1.7.8.8 来自前台的管理网址

问题描述 投票:0回答:1

我需要从前台管理员 URL 发送:https://www.example.com/index.php?controller=AdminKbProductApprovalList

我找到的解决方案是使用,它生成正确的 URL,但没有管理文件夹并产生错误。

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

警告:在 /home/name/projects/asd.local/classes/Link.php 第 906 行中使用未定义的常量 PS_ADMIN_DIR - 假设为“PS_ADMIN_DIR”(这将在未来版本的 PHP 中引发错误)。

我该如何解决这个问题?

prestashop prestashop-1.7
1个回答
0
投票

什么对我有用:

/* Getting controller URL */
$url = parse_url($this->context->link->getPageLink('Controller'));

/* Checking if the admin folder is set */
if (isset(glob(_PS_ROOT_DIR_ . '/admin*')[0])) {
    /* Changing the URL path to the admin folder name */
    $url['path'] = basename(glob(_PS_ROOT_DIR_ . '/admin*')[0]) . $url['path'];
}

/* Adding the modified URL to the email template variables using http_build_url */
$template_vars['{{redirect_url}}'] = http_build_url($url);
© www.soinside.com 2019 - 2024. All rights reserved.