我想知道,如何从

生成有效的管理URL

  1. 一个控制器
  2. anywhnere
  3. 所以如果我在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')])
.

许可以下: CC-BY-SA归因
scroll top