Magento2: как генерировать URL admin с безопасным ключом от контроллера
-
29-09-2020 - |
Вопрос
Я хочу знать, как я могу генерировать действительный URL-адрес администратора от
- контроллер
- onwwwhnere
Итак, я могу сделать любые пользовательские работы URL-администратора, если мне нужно его в ajax или что-то еще.Ответ за 1 или 2 сделаю работу, бот, я думаю, что лучше иметь оба.
Решение
от контроллера, который вы можете просто использовать $this->getUrl('url/path/here', $paramsHere = array())
.
из любого места еще:
Вам нужно добавить экземпляр \Magento\Framework\UrlInterface
в вашем классе и использовать это:
protected $urlBuider;
public function __construct(
....
\Magento\Framework\UrlInterface $urlBuilder,
....
) {
....
$this->urlBuilder = $urlBuilder;
....
}
.
Тогда вы можете использовать это:
$url = $this->urlBuilder->getUrl('url/path/here', $paramsHere = array());
. Другие советы
Вы можете генерировать безопасный ключ URL-адреса администратора через
protected $urlBuider;
public function __construct(
....
\Magento\Backend\Model\UrlInterface $urlBuilder,
....
) {
....
$this->urlBuilder = $urlBuilder;
....
}
public function Yourmethod()
{
$this->urlBuilder->getRouteUrl('RouteId/ControllerName/actionName',[ 'key'=>$this->urlBuilder->getSecretKey('RouteId','ControllerName','actionName')])
}
.
Если вы хотите отправлять параметры, добавьте параметры перед ключом
$this->urlBuilder->getRouteUrl('RouteId/ControllerName/actionName',[ 'param1'=> 'paramValue1','param2'=> 'paramValue2','key'=>$this->urlBuilder->getSecretKey('RouteId','ControllerName','actionName')])
. Не связан с magento.stackexchange