Magento2: come generare URL amministrativo con chiave sicura da un controller
-
29-09-2020 - |
Domanda
Voglio sapere, come posso generare un URL di amministratore valido da
- .
- Un controller
- Anywhner
Così posso fare qualsiasi URL personalizzato da lavorare se ne ho bisogno in un Ajax o in qualsiasi altra cosa.Risposta per 1 o 2 farà il lavoro, bot penso che sia meglio avere entrambi.
Soluzione
Da un controller è possibile utilizzare semplicemente $this->getUrl('url/path/here', $paramsHere = array())
.
Da qualsiasi altra parte:
È necessario aggiungere un'istanza di \Magento\Framework\UrlInterface
nella tua classe e utilizzare:
protected $urlBuider;
public function __construct(
....
\Magento\Framework\UrlInterface $urlBuilder,
....
) {
....
$this->urlBuilder = $urlBuilder;
....
}
.
Allora puoi usare questo:
$url = $this->urlBuilder->getUrl('url/path/here', $paramsHere = array());
. Altri suggerimenti
È possibile generare il tasto URL di amministratore sicuro da
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')])
}
.
Se si desidera inviare parametri, aggiungere i parametri prima del tasto
$this->urlBuilder->getRouteUrl('RouteId/ControllerName/actionName',[ 'param1'=> 'paramValue1','param2'=> 'paramValue2','key'=>$this->urlBuilder->getSecretKey('RouteId','ControllerName','actionName')])
. Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange