在PrestaShop 1.7中,要从前台控制器获取后台的根URL,你可以使用以下代码:
$adminController = Configuration::get('PS_ADMIN_CONTROLLER');
$adminDir = basename(_PS_ADMIN_DIR_);
$adminURL = Context::getContext()->link->getAdminLink($adminController, true);
$adminURL = str_replace('/'.$adminDir.'/', '/', $adminURL);
上述代码将返回后台的根URL。下面对代码的实现进行解释:
Configuration::get('PS_ADMIN_CONTROLLER')
获取配置中的后台控制器名称。_PS_ADMIN_DIR_
获取后台目录的绝对路径,再使用 basename()
函数获取后台目录的名称。Context::getContext()->link->getAdminLink()
函数生成后台URL。传入前面获取到的控制器名称,并设置第二个参数为 true
,表示返回完整的URL。str_replace()
函数将生成的URL中的后台目录名称替换为空字符串,从而得到后台的根URL。这样,你就可以在PrestaShop 1.7的前台控制器中获取到后台的根URL了。
请注意,这里的代码只适用于PrestaShop 1.7版本,其他版本可能会有不同的实现方式。
领取专属 10元无门槛券
手把手带您无忧上云