Como usar a função getUrl () no Magento 2


Respostas:


18

Em um bloco, você pode usar $this->getUrl()com os parâmetros como os conhece no Magento 1. Em um modelo, use em seu $block->getUrl()lugar.

Blocos e modelos externos, você precisa acessar \Magento\Framework\UrlInterface; portanto, se ainda não estiver disponível na classe atual, adicione-o como um parâmetro de construtor, atribua-o $this->urlBuildere use-o $this->urlBuilder->getUrl().


2
antes de adicioná-lo como um parâmetro construtor, verifique se $ context já tem uma instância acessível de urlBuilder.
LucScu

5

Você pode simplesmente chamar esse método no magento 2 usando o caminho abaixo,

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

Você também pode transmitir o valor da ação em vez do */*/*URL acima, como "cliente / conta / login", conforme a ação necessária.


0

Você pode usar isso no Magento 2 como

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

como usá-lo no arquivo de bloco? Estou tentando obter outro controlador na função backUrl.
Jafar pinjar
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.