J'ai du mal à supprimer le filtre de catégorie de la couche, car j'ai déjà un menu déroulant de catégorie dans mon nouveau site Web, ce ne sera donc qu'une perte d'espace (et confondra mes clients)
Je sais que ce problème a déjà été posé à plusieurs reprises et déjà résolu, mais j'ai essayé toutes les solutions sans succès. Je crois que cela est lié au modèle personnalisé que j'utilise pour le site Web.
Après avoir regardé mon fichier local.xml (trouvé dans mon dossier de modèles), je pense que je devrais contourner ces lignes:
<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>
Le premier - type de bloc - devrait être le menu des catégories (et ça me convient). Le deuxième type de bloc - construit le menu "filtrer par", juste en dessous du menu de catégorie, et je suis presque sûr que le problème est là.
Je crois que je devrais annuler quelque chose dans le "catalog.leftnav" mais même si j'essaye d'ajouter ce code:
<catalog_category_layered>
<reference name="product_list">
<action method="unsetChild"><child>category_filter</child></action>
</reference>
</catalog_category_layered>
Rien ne se passe. Qu'est-ce que je fais mal?
la source
Réponses:
Basé sur la réponse de stackexchange.com:
Si vous voulez le faire via XML, vous devez éditer catalog.xml
remplacer:
avec ça:
la source
<reference name="catalog.leftnav"> <action method="unsetChild"><alias>category_filter</alias></action> </reference>
mais ajoutez dans local.xml. cela a fonctionné pour moi le 1.8Essayez d'abord ce code. Ici, nous essayons de supprimer cela via la mise à jour XML de la mise en page
Fichier :
app/design/frontend/<package>/<theme>/layout/local.xml
Cela résoudra votre problème.
Si cela n'a pas fonctionné, vous devez effectuer une réécriture de bloc. Pour cela, vous devez créer un module. Le bloc que vous devez réécrire est
Mage_Catalog_Block_Layer_View
.Le fichier d'activation du module ressemble à ceci
Fichier :
app/etc/modules/Avoid_CategoryFromLN.xml
Voici à quoi ressemble la réécriture de la configuration
Fichier :
app\code\local\Avoid/CategoryFromLN/etc/config.xml
Maintenant, votre bloc de réécriture devrait posséder ce contenu
Fichier :
app\code\local\Avoid/CategoryFromLN/Block/Layer/View.php
Voici
getFilters()
la méthode qui inclut réellement les filtres de catégorie à l'intérieur du filtre de navigation en couches. Nous supprimons simplement ce code en réécrivant la classe principale. C'est ça.Grande note:: vous devez conserver les majuscules telles quelles. Ne leur faites pas de petites lettres. Si vous le faites, cela ne fonctionnera pas. Magento est strict dans ces choses :) Donc, révisez tous les noms de dossiers, noms de fichiers plusieurs fois. Assurez-vous de conserver le contenu de tous les noms tels quels
Maintenant réessayez.
la source
isAnchor
àno
, puis l'ensemble get de navigation a disparu en couches.Je posterai ce qui a fonctionné pour moi comme référence pour les autres
en ajoutant ceci:
dans l'onglet de conception personnalisée de chaque catégorie fait l'affaire.
N'oubliez surtout pas de l'ajouter dans la catégorie parent, c'est ce qui m'a fait.
la source
La solution enfant non réglé
local.xml
fonctionne bien. Veuillez noter que si vous travaillez avec l'édition entreprise, la référence est appelée "enterprisecatalog
":Remarque: vous ne trouverez peut-être aucune définition de bloc enfant correspondante dans l'un des principaux XML. Cela est dû au fait que les enfants comme "
category_filter
" sont créés (codés en dur) en_prepareLayout
fonction de la vue de couche de catalogue correspondante. En utilisant,unsetChild
vous pouvez cependant supprimer l'enfant ajouté codé en dur.la source
Ceci fonctionne https://magento.stackexchange.com/a/45249/9951
MAIS
Vous devez également ajouter des modifications à app / design / frontend / rwd / default / template / catalog / layer / view.phtml
comme ça
et également besoin de modifications dans /app/code/core/Mage/Catalog/Block/Layer/View.php
copier /app/code/core/Mage/Catalog/Block/Layer/View.php
à /app/code/local/Mage/Catalog/Block/Layer/View.php
et changer la méthode canShowOptions ()
besoin de changement
à
et essaye
la source
C'est ce qui a fonctionné pour moi (sur Magento 1.9).
Ajoutez ces lignes sur votre
local.xml
fichier:la source