Estou lutando para remover o filtro Categoria das camadas, porque já tenho um menu suspenso de categoria no meu novo site, portanto, será apenas um desperdício de espaço (e confundir meus clientes)
Sei que esse problema já foi solicitado várias vezes e já foi resolvido, mas tentei todas as soluções sem sucesso. Acredito que isso esteja relacionado ao modelo personalizado usado no site.
Depois de olhar para o meu arquivo local.xml (encontrado na minha pasta de modelos), acredito que devo trabalhar em torno destas linhas:
<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>
O primeiro - tipo de bloco - deve ser o menu de categorias (e estou bem com isso). O segundo tipo de bloco cria o menu "filtrar por", logo abaixo do menu de categorias, e tenho certeza de que o problema está aqui.
Eu acredito que devo desmarcar algo dentro do "catalog.leftnav", mas mesmo se eu tentar adicionar este código:
<catalog_category_layered>
<reference name="product_list">
<action method="unsetChild"><child>category_filter</child></action>
</reference>
</catalog_category_layered>
nada acontece. O que estou fazendo errado?
fonte
Respostas:
Com base na resposta stackexchange.com:
Se você quiser fazer isso via XML, edite catalog.xml
substituir:
com isso:
fonte
<reference name="catalog.leftnav"> <action method="unsetChild"><alias>category_filter</alias></action> </reference>
mas adicione em local.xml. isso funcionou para mim em 1,8Tente este código primeiro. Aqui estamos tentando remover isso via atualização xml de layout
Arquivo :
app/design/frontend/<package>/<theme>/layout/local.xml
Isto irá resolver o seu problema.
Se não funcionou, será necessário reescrever o bloco. Para isso, você precisa criar um módulo. O bloco que você precisa reescrever é
Mage_Catalog_Block_Layer_View
.O arquivo de ativação do módulo fica assim
Arquivo :
app/etc/modules/Avoid_CategoryFromLN.xml
É assim que a configuração de reescrita se parece
Arquivo :
app\code\local\Avoid/CategoryFromLN/etc/config.xml
Agora seu bloco de reescrita deve possuir este conteúdo
Arquivo :
app\code\local\Avoid/CategoryFromLN/Block/Layer/View.php
Aqui
getFilters()
está o método que realmente inclui filtros de categoria dentro do filtro de navegação em camadas. Apenas removemos esse código reescrevendo a classe principal. É isso aí.Nota grande :: Você deve manter as letras maiúsculas como estão. Não faça letras minúsculas. Se você fizer isso, não funcionará. O Magento é rigoroso nessas coisas :) Portanto, revise todos os nomes de pastas e arquivos várias vezes. Mantenha o conteúdo de todos os nomes como está
Agora tente novamente.
fonte
isAnchor
parano
, em seguida, toda a get de navegação em camadas desapareceu.Vou postar o que funcionou para mim como referência para os outros
adicionando isto:
na guia de design personalizado de todas as categorias, faz o truque.
Lembre-se especialmente de adicioná-lo na categoria principal, foi o que fez por mim.
fonte
A solução criança não configurada
local.xml
funciona bem. Observe que, se você estiver trabalhando com a edição corporativa, a referência será chamada "enterprisecatalog
":Nota lateral: Você não pode encontrar nenhuma definição correspondente de bloqueio filho em qualquer um dos XML principais. Isso se deve ao fato de que filhos como "
category_filter
" são criados (codificados) em_prepareLayout
função da visualização da camada de catálogo correspondente. Ao usar,unsetChild
você pode remover o filho adicionado embutido no código.fonte
Isso funciona https://magento.stackexchange.com/a/45249/9951
MAS
Também é necessário adicionar alterações ao aplicativo / design / frontend / rwd / default / template / catalog / layer / view.phtml
como isso
e também precisa de alterações em /app/code/core/Mage/Catalog/Block/Layer/View.php
copiar /app/code/core/Mage/Catalog/Block/Layer/View.php
para /app/code/local/Mage/Catalog/Block/Layer/View.php
e altere o método canShowOptions ()
precisa mudar
para
e tentar
fonte
Isto é o que funcionou para mim (no Magento 1.9).
Adicione estas linhas no seu
local.xml
arquivo:fonte