Jak korzystać z funkcji getUrl () w Magento 2


Odpowiedzi:


18

W bloku możesz używać $this->getUrl()parametrów, które znasz z Magento 1. $block->getUrl()Zamiast tego użyj szablonu .

Poza blokami i szablonami potrzebujesz dostępu \Magento\Framework\UrlInterface, więc jeśli nie jest jeszcze dostępny w bieżącej klasie, dodaj go jako parametr konstruktora, przypisz go $this->urlBuilder, a następnie użyj $this->urlBuilder->getUrl().


2
przed dodaniem go jako parametru konstruktora sprawdź, czy $ kontekst ma już dostępne wystąpienie urlBuilder.
LucScu,

5

Możesz po prostu wywołać tę metodę w Magento 2, używając poniższego sposobu,

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

Możesz również przekazać wartość akcji zamiast */*/*w powyższym adresie URL, na przykład „klient / konto / login” zgodnie z wymaganą czynnością.


0

Możesz użyć tego w Magento 2 jak

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

jak go używać w pliku bloku? próbuję uzyskać inny kontroler w funkcji backUrl.
jafar pinjar
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.