Saya memiliki navigasi berlapis, dan pelanggan ingin memiliki <select/>
bidang alih-alih daftar panjang tautan.
Saya berpikir untuk mengganti template dengan pengamat jika nama / id dari filter cocok.
Ada ide atau rekomendasi yang lebih baik? Alternatif untuk mengubah templat, mungkin menimpa / menulis ulang blok atau hanya mengubah kelas blok untuk dua filter?
Peristiwa apa yang digunakan untuk mengubah templat?
Saya kemudian memiliki masalah yang sama seperti di sini /programming/14524791/magento-enable-or-disable-a-module-in-code/14529629 karena saya memiliki pengamat yang mengubah hal-hal tata letak. Ini hanya tema yang relevan. Jadi memilih tema sebelum menjalankan pembaruan mungkin merupakan ide yang bagus?
magento-1
event-observer
layered-navigation
Fabian Blechschmidt
sumber
sumber
catalog/layer/filter.phtml
template dan mengubah apa yang Anda butuhkan, itu akan menjadi tema khusus juga. Satu-satunya hal yang harus Anda hadapi adalah sedikit filter yang dipilih. Saya kira Anda ingin menampilkan semua filter yang dipilih di<select>
yang mungkin perlu menambahkan beberapa fungsi Blok, karena begitu filter dipilih, opsi lain menghilang.Jawaban:
Oke, hal-hal yang perlu Anda lakukan: 1. Ganti blok 'catalog / layer_view' untuk mengatur template Anda sendiri. Saya menempatkan nav berlapis saya di area header sebagai bagian dari tata letak 1 kolom
Dalam file templat itu, Anda perlu menentukan templat yang ditimpa untuk elemen individual Anda.
Akhirnya, Anda perlu membuat drop.php down filter. Itu harus lurus ke depan. Ini diformat dengan buruk karena saya mengalami masalah dengan editor ini, tetapi ide umumnya ada di sini. Beberapa Javascript akan dibutuhkan juga.
sumber
Kamu bisa memakai
core_block_abstract_prepare_layout_after
acara diMage_Catalog_Block_Layer_View
blok untuk mengubah template dari filter atribut khusus Anda.Bisa jadi sesuatu seperti ini:
Ringkasan:
Setiap blok filter anak memiliki alias di blok navigasi berlapis seperti
[attribute_code]_filter
, dan semuanya dibuat_prepareLayout()
metode sehingga Anda dapat dengan mudah memodifikasi templatnya padacore_block_abstract_prepare_layout_after
acara.Anda juga dapat memeriksa dalam pengamat Anda bahwa tema saat ini sama dengan yang diharapkan dengan menelepon:
Hormat saya, Ivan
sumber
attribute_code_filter
alias, mengapa Anda tidak bisa mengatur template di layout xml?getNameInLayout()
Anda akan melihat, bahwa masing-masing blok ini memiliki nama unik sebagai ANNONYMOUS_30, ANNONYMOUS_23, dll. Jadi, Anda tidak dapat mengandalkannya.