Cara menggunakan fungsi getUrl () di Magento 2


11

Bisakah saya menghubungi Mage :: getUrl () langsung menggunakan $ this-> di Magento2?

Bagaimana saya bisa menggunakan kode di bawah ini di Magento2?

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


Anda dapat merasa bebas untuk menutup pertanyaan setelah menerima jawaban dari bawah.
Rakesh Jesadiya

Jawaban:


18

Dalam sebuah blok, Anda dapat menggunakan $this->getUrl()dengan parameter seperti yang Anda ketahui dari Magento 1. Dalam sebuah template, gunakan $block->getUrl()saja.

Di luar blok dan templat, Anda memerlukan akses ke \Magento\Framework\UrlInterface, jadi jika belum tersedia di kelas saat ini, tambahkan sebagai parameter konstruktor, tetapkan $this->urlBuilder, lalu gunakan $this->urlBuilder->getUrl().


2
sebelum menambahkannya sebagai cek parameter konstruktor apakah $ context telah memiliki instance urlBuilder yang dapat diakses.
LucScu

5

Anda cukup memanggil metode ini di Magento 2 menggunakan cara di bawah ini,

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

Anda juga dapat memberikan nilai tindakan alih-alih */*/*dalam url di atas, seperti 'pelanggan / akun / masuk' sesuai tindakan yang Anda perlukan.


0

Anda dapat menggunakan ini di Magento 2 suka

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

bagaimana cara menggunakannya dalam file Block? saya mencoba untuk mendapatkan pengontrol lain dalam fungsi backUrl.
jafar pinjar
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.