Я изо всех сил пытаюсь удалить фильтр категории из многоуровневой, потому что у меня уже есть раскрывающееся меню категории на моем новом веб-сайте, так что это будет только пустая трата пространства (и запутать моих клиентов)
Я знаю, что этот вопрос уже задавался много раз и уже решен, но я пробовал каждое решение безуспешно. Я считаю, что это связано с пользовательским шаблоном, который я использую для веб-сайта.
Посмотрев на мой файл local.xml (находится в папке с моими шаблонами), я считаю, что мне нужно обойти эти строки:
<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>
Первый - тип блока - должен быть меню категорий (и я в порядке). Второй - тип блока - создает меню «Фильтровать по», чуть ниже меню категорий, и я уверен, что проблема здесь.
Я считаю, что я должен сбросить что-то в "catalog.leftnav", но даже если я попытаюсь добавить этот код:
<catalog_category_layered>
<reference name="product_list">
<action method="unsetChild"><child>category_filter</child></action>
</reference>
</catalog_category_layered>
Ничего не произошло. Что я делаю неправильно?
источник
Ответы:
На основании ответа stackexchange.com:
если вы хотите сделать это с помощью XML, вам нужно отредактировать catalog.xml
заменить:
с этим:
источник
<reference name="catalog.leftnav"> <action method="unsetChild"><alias>category_filter</alias></action> </reference>
но добавьте в local.xml. это сработало для меня на 1.8Попробуйте этот код первым. Здесь мы пытаемся удалить это с помощью обновления макета XML
Файл :
app/design/frontend/<package>/<theme>/layout/local.xml
Это решит вашу проблему.
Если это не сработало, вам нужно переписать блок. Для этого вам нужно создать модуль. Блок, который вам нужно переписать, есть
Mage_Catalog_Block_Layer_View
.Файл активации модуля выглядит следующим образом
Файл :
app/etc/modules/Avoid_CategoryFromLN.xml
Так выглядит конфигурация перезаписи
Файл :
app\code\local\Avoid/CategoryFromLN/etc/config.xml
Теперь ваш блок перезаписи должен иметь этот контент
Файл :
app\code\local\Avoid/CategoryFromLN/Block/Layer/View.php
Вот
getFilters()
метод, который фактически включает фильтры категорий внутри многоуровневого фильтра навигации. Мы просто удаляем этот код, переписывая базовый класс. Вот и все.Большое примечание:: Вы должны хранить заглавные буквы как есть. Не делайте их маленькими буквами. Если вы это сделаете, это не будет работать. Magento строг в этих вещах :) Так что пересмотрите все имена папок, имена файлов несколько раз. Убедитесь, что вы сохраняете все имена имен как есть
Теперь попробуйте еще раз.
источник
isAnchor
вno
, то всех слоистых навигациях прибудут исчез.Я опубликую то, что это работает для меня, как ссылку для других
добавив это:
во вкладке нестандартного дизайна каждой категории делает свое дело.
Не забудьте особенно добавить его в родительскую категорию, вот что сделало это для меня.
источник
Решение unset-child
local.xml
работает хорошо. Обратите внимание, что если вы работаете с корпоративной версией, ссылка называется "enterprisecatalog
":Примечание: вы не можете найти соответствующие определения дочерних блоков ни в одном из основных XML. Это связано с тем, что дочерние
category_filter
элементы, подобные " ", создаются (жестко запрограммированы) в_prepareLayout
зависимости от представления соответствующего слоя каталога. ОднакоunsetChild
вы можете удалить жестко добавленного дочернего элемента.источник
Это работает https://magento.stackexchange.com/a/45249/9951
НО
Также необходимо добавить изменения в app / design / frontend / rwd / default / template / catalog / layer / view.phtml
нравится
а также необходимо внести изменения в /app/code/core/Mage/Catalog/Block/Layer/View.php
скопировать /app/code/core/Mage/Catalog/Block/Layer/View.php
в /app/code/local/Mage/Catalog/Block/Layer/View.php
и изменить метод canShowOptions ()
нужно изменить
в
и попробуйте
источник
Это то, что у меня сработало (на Magento 1.9).
Добавьте эти строки в ваш
local.xml
файл:источник