Magento2:コントローラからの安全なキーを持つ管理者URLを生成する方法
-
29-09-2020 - |
質問
知りたいのですが、
から有効な管理者URLを生成する方法- コントローラ
- AnyWhere
だから私はAjaxまたは何でも必要な場合は、カスタムURL管理機能を作ることができます。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