Cómo usar la función getUrl () en Magento 2


Respuestas:


18

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->urlBuilderluego úselo $this->urlBuilder->getUrl().


2
antes de agregarlo como parámetro del constructor, compruebe si $ context ya tiene una instancia accesible de urlBuilder.
LucScu

5

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.


0

Puedes usar esto en Magento 2 como

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

¿Cómo usarlo en el archivo de bloque? Estoy tratando de obtener otro controlador en la función backUrl.
jafar pinjar
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.