¿Puedo llamar a Mage :: getUrl () directamente usando $ this-> en Magento2?
¿Cómo puedo usar el siguiente código en Magento2?
$link = Mage::getUrl('*/*/*', array('_current'=>true, '_use_rewrite'=>true, '_query'=>$this_params));
¿Puedo llamar a Mage :: getUrl () directamente usando $ this-> en Magento2?
¿Cómo puedo usar el siguiente código en Magento2?
$link = Mage::getUrl('*/*/*', array('_current'=>true, '_use_rewrite'=>true, '_query'=>$this_params));
Respuestas:
En un bloque, puede usar $this->getUrl()
los parámetros tal como los conoce de Magento 1. En una plantilla, use $block->getUrl()
en su lugar.
Fuera de los bloques y las plantillas, necesita acceso \Magento\Framework\UrlInterface
, por lo que si aún no está disponible en la clase actual, agréguelo como parámetro de construcción, asígnelo y $this->urlBuilder
luego úselo $this->urlBuilder->getUrl()
.
Simplemente puede llamar a este método en magento 2 usando el siguiente modo,
//define query array pass to url
$query = ['str1' => 'value1', 'str2' => 'value2',];
$link = $block->getUrl('*/*/*', ['_current' => true, '_use_rewrite' => true, '_query' => $query]);
También puede pasar el valor de acción en lugar de */*/*
en la URL anterior, como 'cliente / cuenta / inicio de sesión' según su acción requerida.
Puedes usar esto en Magento 2 como
$block->getUrl('*/*/*', ['_current' => true, '_use_rewrite' => true])