magento2:如何使用来自控制器的安全键生成管理员URL
-
29-09-2020 - |
题
我想知道,如何从
生成有效的管理URL- 一个控制器
- anywhnere
所以如果我在ajax或其他任何内容中需要它,我可以制作任何自定义URL管理工作。1或2的答案将完成这项工作,我认为这两者都更好。
解决方案
从控制器中,您可以简单地使用$this->getUrl('url/path/here', $paramsHere = array())
。
从其他任何地方:
需要在类中添加一个生成的生成icetagcode的实例并使用:
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')])
}
.
如果要发送参数,则在密钥
之前添加您的Params$this->urlBuilder->getRouteUrl('RouteId/ControllerName/actionName',[ 'param1'=> 'paramValue1','param2'=> 'paramValue2','key'=>$this->urlBuilder->getSecretKey('RouteId','ControllerName','actionName')])
.