知りたいのですが、どうすれば有効な管理URLを生成できますか
- コントローラー
- とにかく
Ajaxなどで必要な場合は、カスタムURL管理を機能させることができます。1か2のどちらかで答えればうまくいきます。ボットは両方あるほうがいいと思います。
知りたいのですが、どうすれば有効な管理URLを生成できますか
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')])