Estoy luchando por eliminar el filtro de categoría de la capa, porque ya tengo un menú desplegable de categoría en mi nuevo sitio web, por lo que será solo una pérdida de espacio (y confundir a mis clientes)
Sé que este problema ya se preguntó muchas veces y ya se resolvió, pero probé todas las soluciones sin éxito. Creo que esto está relacionado con la plantilla personalizada que uso para el sitio web.
Después de mirar mi archivo local.xml (que se encuentra en mi carpeta de plantillas), creo que debería evitar estas líneas:
<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>
El primer tipo de bloque debería ser el menú de categoría (y estoy de acuerdo con eso). El segundo tipo de bloque construye el menú "filtrar por", justo debajo del menú de categoría, y estoy bastante seguro de que el problema está aquí.
Creo que debería desarmar algo dentro del "catalog.leftnav" pero incluso si trato de agregar este código:
<catalog_category_layered>
<reference name="product_list">
<action method="unsetChild"><child>category_filter</child></action>
</reference>
</catalog_category_layered>
no pasa nada. ¿Qué estoy haciendo mal?
fuente
Respuestas:
Basado en la respuesta de stackexchange.com:
si desea hacerlo a través de XML, debe editar catalog.xml
reemplazar:
con este:
fuente
<reference name="catalog.leftnav"> <action method="unsetChild"><alias>category_filter</alias></action> </reference>
pero agrégalo a local.xml. esto funcionó para mí el 1.8Prueba este código primero. Aquí estamos tratando de eliminar esto a través de la actualización xml de diseño
Archivo :
app/design/frontend/<package>/<theme>/layout/local.xml
Esto resolverá su problema.
Si no funcionó, entonces necesita hacer una reescritura de bloque. Para esto necesitas crear un módulo. El bloque que necesitas reescribir es
Mage_Catalog_Block_Layer_View
.El archivo de activación del módulo se ve así
Archivo :
app/etc/modules/Avoid_CategoryFromLN.xml
Así es como se reescribe la configuración
Archivo :
app\code\local\Avoid/CategoryFromLN/etc/config.xml
Ahora su bloque de reescritura debería poseer este contenido
Archivo :
app\code\local\Avoid/CategoryFromLN/Block/Layer/View.php
Aquí
getFilters()
está el método que realmente incluye filtros de categoría dentro del filtro de navegación en capas. Simplemente eliminamos ese código reescribiendo la clase principal. Eso es.Nota importante: debe mantener las letras mayúsculas tal como están. No les hagas letras pequeñas. Si lo haces, no funcionará. Magento es estricto en estas cosas :) Así que revise todos los nombres de carpetas y nombres de archivos varias veces. Asegúrese de mantener todos los contenidos de los nombres tal como están
Ahora inténtalo de nuevo.
fuente
isAnchor
ano
, a continuación, toda la navegación por capas get desapareció.Publicaré lo que funcionó para mí como referencia para otros
agregando esto:
en la pestaña de diseño personalizado de cada categoría hace el truco.
Recuerde especialmente agregarlo en la categoría principal, eso es lo que lo hizo por mí.
fuente
La solución unset-child
local.xml
funciona bien. Tenga en cuenta que si está trabajando con Enterprise Edition, la referencia se llama "enterprisecatalog
":Nota al margen: es posible que no encuentre ninguna definición de bloque secundario correspondiente en ninguno de los XML principales. Esto se debe al hecho de que los niños como "
category_filter
" se crean (codificados) en_prepareLayout
función de la vista de capa de catálogo correspondiente.unsetChild
Sin embargo, al usar puede eliminar el elemento secundario codificado.fuente
Esto funciona https://magento.stackexchange.com/a/45249/9951
PERO
También es necesario agregar cambios a app / design / frontend / rwd / default / template / catalog / layer / view.phtml
Me gusta esto
y también necesita cambios en /app/code/core/Mage/Catalog/Block/Layer/View.php
copiar /app/code/core/Mage/Catalog/Block/Layer/View.php
a /app/code/local/Mage/Catalog/Block/Layer/View.php
y cambie el método canShowOptions ()
necesita cambio
a
e intenta
fuente
Esto es lo que funcionó para mí (en Magento 1.9).
Agregue estas líneas en su
local.xml
archivo:fuente