Come usare la funzione getUrl () in Magento 2


Risposte:


18

In un blocco, puoi utilizzare $this->getUrl()i parametri come li conosci da Magento 1. In un modello, usa $block->getUrl()invece.

È necessario accedere a blocchi e modelli esterni \Magento\Framework\UrlInterface, quindi se non è ancora disponibile nella classe corrente, aggiungerlo come parametro del costruttore, assegnarlo a $this->urlBuilder, quindi utilizzare $this->urlBuilder->getUrl().


2
prima di aggiungerlo come parametro del costruttore controlla se $ context ha già un'istanza accessibile di urlBuilder.
LucScu,

5

Puoi semplicemente chiamare questo metodo in magento 2 usando il modo seguente,

//define query array pass to url
    $query = ['str1' => 'value1', 'str2' => 'value2',];
    $link = $block->getUrl('*/*/*', ['_current' => true, '_use_rewrite' => true, '_query' => $query]);

Puoi anche passare il valore dell'azione anziché */*/*nell'URL sopra, come "cliente / account / accesso" come per l'azione richiesta.


0

Puoi usarlo in Magento 2 come

$block->getUrl('*/*/*', ['_current' => true, '_use_rewrite' => true])

come usarlo nel file di blocco? Sto cercando di ottenere un altro controller nella funzione backUrl.
jafar pinjar
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.