Maksud Anda setelah login pengguna acak, kami harus mengetahui bahwa pengguna ada di halaman mana.
Arjun
Tidak diperlukan bagi pengguna untuk masuk. Saya hanya ingin memeriksa halaman kategori halaman atau halaman produk. Seperti di Magento 1 Kita dapat memeriksanya seperti ini: $ category = Mage :: registry ('current_category');
Tim Magento
Jawaban:
29
Anda dapat mencoba kode di bawah ini yang mungkin dapat membantu Anda.
Suntikkan instance dari konstruktor kelas\Magento\Framework\App\Request\Http Anda .
Jika Anda berada di controller Anda tidak perlu melakukannya. Anda sudah dapat mengaksesnya seperti ini$request = $this->getRequest()
Kemudian Anda dapat memeriksa apakah kategori atau produk seperti ini:
if($this->_request->getFullActionName()=='catalog_product_view'){//you are on the product page}if($this->_request->getFullActionName()=='catalog_category_view'){//you are on the category page}
Jika Anda secara langsung menginginkannya dalam file phtml, gunakan seperti ini - $ this-> getRequest () -> getFullActionName () di sini adalah kondisi if yang saya gunakan: if ($ this-> getRequest () -> getFullActionName () == ' catalog_category_view ') {...}
KA9
Hai @ Arjun, Bagaimana Anda mendapatkan nama kategori yang Anda masuki?
John
5
Saya kira, kita bisa langsung pakai
$this->getRequest()->getFullActionName()
dalam file .phtml untuk mendapatkan tindakan halaman saat ini.
Anda dapat menggunakan instance dari \ Magento \ Framework \ App \ Request \ Http di konstruktor kelas Anda. Jika Anda berada di controller Anda tidak perlu melakukannya.
Anda sudah dapat mengaksesnya seperti ini $request = $this->getRequest()
Kemudian Anda dapat memeriksa apakah beranda atau kategori atau halaman produk seperti ini:
if($this->_request->getFullActionName()=='cms_index_index'){//you are on the homepage}if($this->_request->getFullActionName()=='catalog_product_view'){//you are on the product page}if($this->_request->getFullActionName()=='catalog_category_view'){//you are on the category page}
Kalau tidak langsung digunakan dalam file phtml menggunakan manajer objek
if ($ this-> getProductPage ()) {
// ini adalah halaman produk, lakukan beberapa hal
}
elseif ($ this-> getCategoryPage ()) {
// ini adalah halaman kategori, lakukan beberapa hal
}
Jawaban:
Anda dapat mencoba kode di bawah ini yang mungkin dapat membantu Anda.
Suntikkan instance dari konstruktor kelas
\Magento\Framework\App\Request\Http
Anda .Jika Anda berada di controller Anda tidak perlu melakukannya. Anda sudah dapat mengaksesnya seperti ini
$request = $this->getRequest()
Kemudian Anda dapat memeriksa apakah kategori atau produk seperti ini:
sumber
Saya kira, kita bisa langsung pakai
dalam file .phtml untuk mendapatkan tindakan halaman saat ini.
sumber
Anda dapat menggunakan instance dari \ Magento \ Framework \ App \ Request \ Http di konstruktor kelas Anda. Jika Anda berada di controller Anda tidak perlu melakukannya.
Anda sudah dapat mengaksesnya seperti ini
$request = $this->getRequest()
Kemudian Anda dapat memeriksa apakah beranda atau kategori atau halaman produk seperti ini:
Kalau tidak langsung digunakan dalam file phtml menggunakan manajer objek
sumber
Jika Anda menggunakan file template yaitu .phtml maka secara langsung Anda dapat memanggil halaman menggunakan kode di bawah ini:
$ objectManager = \ Magento \ Framework \ App \ ObjectManager :: getInstance ();
$ request = $ objectManager-> get ('\ Magento \ Framework \ App \ Request \ Http');
if ($ request-> getFullActionName () == 'cms_index_index') {// Anda ada di beranda}
if ($ request-> getFullActionName () == 'catalog_product_view') {// Anda ada di halaman produk}
if ($ request-> getFullActionName () == 'catalog_category_view') {// Anda berada di halaman kategori}
dan jika Anda mendapatkan kategori saat ini dan datanya, Anda dapat melakukannya melalui
$ category = $ objectManager-> get ('Magento \ Framework \ Registry') -> registry ('current_category');
$ category-> getData ('schbang_category_name');
di mana schbang_category_name adalah atribut kategori khusus saya
Saya harap ini bisa membantu seseorang.
sumber
Anda dapat menambahkan kondisional, seperti
sumber
getCategoryPage
di mana pun di Magento 2, setidaknya tidak di 2.1.10