Saya berjuang untuk menghapus filter Kategori dari layered, karena saya sudah memiliki menu dropdown kategori di situs web baru saya, jadi itu hanya akan membuang-buang ruang (dan membingungkan pelanggan saya)
Saya tahu bahwa masalah ini sudah ditanyakan berkali-kali dan sudah diselesaikan, tetapi saya mencoba setiap solusi tanpa hasil. Saya percaya bahwa ini terkait dengan templat kustom yang saya gunakan untuk situs web.
Setelah melihat file local.xml saya (ditemukan di folder template saya), saya percaya bahwa saya harus bekerja di sekitar baris ini:
<reference name="product_list">
<block type="core/text_list" name="category-right" as="category-right" translate="label">
<label>Right Column</label>
<block type="catalog/navigation" name="catalog.category" before="-" template="catalog/navigation/category_nav.phtml"/>
<block type="catalog/layer_view" name="catalog.leftnav" after="catalog.category" template="catalog/layer/view.phtml"/>
<block type="filterproducts/bestsellers_home_list" name="bestseller" template="catalog/navigation/best_sellers.phtml"/>
<block type="core/template" name="right.permanent.callout" template="callouts/right_col.phtml">
<block type="cms/block" name="cms_images_block">
<action method="setBlockId"><block_id>category_right_block</block_id></action>
</block>
</block>
</block>
</reference>
Jenis blok pertama - harus menjadi menu kategori (dan saya baik-baik saja dengan itu). Tipe blok kedua - membangun menu "filter oleh", tepat di bawah menu kategori, dan saya cukup yakin bahwa masalahnya ada di sini.
Saya percaya bahwa saya harus menghapus sesuatu di dalam "catalog.leftnav" tetapi bahkan jika saya mencoba menambahkan kode ini:
<catalog_category_layered>
<reference name="product_list">
<action method="unsetChild"><child>category_filter</child></action>
</reference>
</catalog_category_layered>
tidak ada yang terjadi. Apa yang saya lakukan salah?
sumber
Jawaban:
Berdasarkan jawaban stackexchange.com:
Jika Anda ingin melakukannya melalui XML Anda harus mengedit catalog.xml
menggantikan:
dengan ini:
sumber
<reference name="catalog.leftnav"> <action method="unsetChild"><alias>category_filter</alias></action> </reference>
tetapi tambahkan ke local.xml. ini bekerja untuk saya pada 1,8Coba kode ini terlebih dahulu. Di sini kami mencoba untuk menghapus ini melalui pembaruan tata letak xml
File:
app/design/frontend/<package>/<theme>/layout/local.xml
Ini akan menyelesaikan masalah Anda.
Jika tidak berhasil, maka Anda perlu melakukan penulisan ulang blokir. Untuk ini, Anda perlu membuat modul. Blok yang perlu Anda tulis ulang adalah
Mage_Catalog_Block_Layer_View
.File aktivasi modul terlihat seperti ini
File:
app/etc/modules/Avoid_CategoryFromLN.xml
Beginilah bentuk konfigurasi ulang
File:
app\code\local\Avoid/CategoryFromLN/etc/config.xml
Sekarang blok penulisan ulang Anda harus memiliki konten ini
File:
app\code\local\Avoid/CategoryFromLN/Block/Layer/View.php
Berikut
getFilters()
adalah metode yang sebenarnya termasuk filter kategori di dalam filter navigasi berlapis. Kami hanya menghapus kode itu dengan menulis ulang kelas inti. Itu dia.Catatan Besar :: Anda harus menyimpan huruf kapital apa adanya. Jangan membuat mereka huruf kecil. Jika Anda melakukannya, itu tidak akan berhasil. Magento sangat ketat dalam hal ini :) Jadi perbaiki semua nama folder, nama file beberapa kali. Pastikan Anda menyimpan semua nama konten apa adanya
Sekarang coba lagi.
sumber
isAnchor
keno
, maka seluruh berlapis get navigasi menghilang.Saya akan memposting apa yang berhasil bagi saya sebagai referensi untuk orang lain
menambahkan ini:
di tab desain khusus setiap kategori melakukan trik.
Ingat terutama untuk menambahkannya di kategori induk, itulah yang melakukannya untuk saya.
sumber
Solusi unset-child dalam
local.xml
bekerja dengan baik. Harap dicatat, bahwa jika Anda bekerja dengan edisi perusahaan referensi disebut "enterprisecatalog
":Catatan sisi: Anda tidak dapat menemukan definisi anak-blok yang sesuai di salah satu inti XML. Ini disebabkan oleh kenyataan, bahwa anak-anak seperti "
category_filter
" dibuat (dikodekan) dalam_prepareLayout
fungsi tampilan layer katalog yang sesuai. Namun, dengan menggunakanunsetChild
Anda dapat menghapus anak yang ditambahkan dengan kode-keras.sumber
Ini berfungsi https://magento.stackexchange.com/a/45249/9951
TAPI
Juga perlu menambahkan perubahan ke aplikasi / desain / frontend / rwd / default / template / katalog / layer / view.phtml
seperti ini
dan juga perlu perubahan ke /app/code/core/Mage/Catalog/Block/Layer/View.php
salin /app/code/core/Mage/Catalog/Block/Layer/View.php
ke /app/code/local/Mage/Catalog/Block/Layer/View.php
dan ubah metode canShowOptions ()
butuh perubahan
untuk
dan coba
sumber
Inilah yang bekerja untuk saya (di Magento 1.9).
Tambahkan baris ini di
local.xml
file Anda :sumber