Posso chamar Mage :: getUrl () diretamente usando $ this-> no Magento2?
Como posso usar o código abaixo no Magento2?
$link = Mage::getUrl('*/*/*', array('_current'=>true, '_use_rewrite'=>true, '_query'=>$this_params));
Posso chamar Mage :: getUrl () diretamente usando $ this-> no Magento2?
Como posso usar o código abaixo no Magento2?
$link = Mage::getUrl('*/*/*', array('_current'=>true, '_use_rewrite'=>true, '_query'=>$this_params));
Respostas:
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->urlBuilder
e use-o $this->urlBuilder->getUrl()
.
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.
Você pode usar isso no Magento 2 como
$block->getUrl('*/*/*', ['_current' => true, '_use_rewrite' => true])