1
我想將我的模塊放在Prestashop市場,並使其成爲每個人都可以使用的標準。這個插件需要動態地知道管理員目錄名來完成它的服務。Prestashop 1.6 - 如何動態獲取管理員目錄名稱?
我在互聯網上搜索了很多次,但我沒有找到解決這個問題的方法。
我想將我的模塊放在Prestashop市場,並使其成爲每個人都可以使用的標準。這個插件需要動態地知道管理員目錄名來完成它的服務。Prestashop 1.6 - 如何動態獲取管理員目錄名稱?
我在互聯網上搜索了很多次,但我沒有找到解決這個問題的方法。
您可以使用_PS_ADMIN_DIR_
女巫被設置在[your_admin_dir]/index.php
:
if (!defined('_PS_ADMIN_DIR_')) {
define('_PS_ADMIN_DIR_', getcwd());
}
這個常數,當你在一個管理範圍內時,才設置。你的FrontOffice不知道這個目錄,也不應該出於明顯的安全原因。
還有在Link
類getAdminLink
方法:
/**
* Use controller name to create a link
*
* @param string $controller
* @param bool $with_token include or not the token in the url
* @return string url
*/
public function getAdminLink($controller, $with_token = true)
{
$id_lang = Context::getContext()->language->id;
$params = $with_token ? array('token' => Tools::getAdminTokenLite($controller)) : array();
return Dispatcher::getInstance()->createUrl($controller, $id_lang, $params, false);
}
例子:
// Here we create a link to the dashboard without token
$this->context->link->getAdminLink(Tab::getClassNameById(1), false)
使用_PS_ADMIN_DIR_我得到的URI,一個物理路徑admin目錄,我要的是網址,讓員工通過給他發送電子郵件訪問管理界面。 – elakioui
我已經添加了一些關於getAdminLink()方法的更多信息: –
我通過getAdminLink方法得到了這個鏈接:index.php?controller = AdminDashboard。這最後錯過了管理員目錄名稱。 – elakioui