如何在Magento 2中使用getUrl()函数


Answers:


18

在一个块中,您可以使用$this->getUrl()在Magento 1中了解的参数。在模板中,请$block->getUrl()改用。

在块和模板之外,您需要访问\Magento\Framework\UrlInterface,因此,如果当前类中尚不可用,请将其添加为构造函数参数,将其分配给$this->urlBuilder,然后使用$this->urlBuilder->getUrl()


2
在将其添加为构造函数参数之前,请检查$ context是否已具有urlBuilder的可访问实例。
LucScu

5

您可以使用以下方法在magento 2中简单地调用此方法,

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

您还可以根据需要的操作*/*/*,而不是在上面的url中传递操作值,例如“客户/帐户/登录”


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.