如何在PrestaShop 1.7中从前台控制器获取后台根URL
PrestaShop 1.7 前台控制器生成后台根URL解决方案
实现代码
你可以在任意前台控制器的方法内,直接使用以下两种方案生成符合要求的后台根URL:
- 方案1:使用内置链接生成器生成后裁剪
// 先生成后台首页的完整链接 $adminDashboardUrl = $this->context->link->getAdminLink('AdminDashboard', true); // 裁剪掉控制器参数得到纯根URL $adminRootUrl = str_replace('?controller=AdminDashboard', '', $adminDashboardUrl);
- 方案2:手动拼接(性能更高,无额外参数处理)
// 取后台目录名 $adminDirName = basename(_PS_ADMIN_DIR_); // 拼接站点根URL、后台目录、入口文件 $adminRootUrl = $this->context->shop->getBaseURL() . $adminDirName . '/index.php';
效果验证
直接输出$adminRootUrl即可得到你需要的格式,例如http://localhost/prestashop174/admin084oazcuj/index.php。
注意:以上代码不需要额外引入依赖,PrestaShop 1.7 所有前台控制器默认已初始化context对象,全局常量_PS_ADMIN_DIR_在框架初始化阶段就已经赋值
内容的提问来源于stack exchange,提问作者Bozlur Rahman
相关产品推荐
相关产品推荐

