Magento 2에서 getUrl () 함수를 사용하는 방법


11

Magento2에서 $ this-> 를 사용하여 Mage :: getUrl ()을 직접 호출 할 수 있습니까 ?

Magento2에서 아래 코드를 어떻게 사용합니까?

$link = Mage::getUrl('*/*/*', array('_current'=>true, '_use_rewrite'=>true, '_query'=>$this_params));


아래의 답변을 수락 한 후 언제든지 질문을 닫을 수 있습니다.
Rakesh Jesadiya

답변:


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 대신 '고객 / 계정 / 로그인' 과 같은 조치 값을 전달할 수도 있습니다 .


0

Magento 2에서 이것을 사용할 수 있습니다.

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

블록 파일에서 사용하는 방법? backUrl 함수에서 다른 컨트롤러를 얻으려고합니다.
jafar pinjar
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.