Domanda

Voglio sapere, come posso generare un URL di amministratore valido da

    .
  1. Un controller
  2. Anywhner
  3. 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.

È stato utile?

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
scroll top