Supprimer le lien «Afficher toutes les catégories» de la navigation du thème RWD

8

Comment supprimer le lien Afficher tout du menu du thème rwd?

Ceci est l'ensemble actuel des catégories que j'ai et comment je veux qu'il s'affiche dans le menu

Catégorie 1
- Sous-catégorie 1
---- Sous-catégorie 1
- Sous-catégorie 2

Catégorie 2
- Sous-catégorie 1

Lors de l'utilisation de RWD, il affiche le menu comme celui-ci

Catégorie 1
- Tout voir Catégorie 1
- Sous-catégorie 1
---- Tout voir Sous-catégorie 1
---- Sous
-catégorie - Sous-catégorie 2

Catégorie 2
- Sous-catégorie 1

J'ai essayé de chercher mais je ne trouve pas de solution à cela.

Mat
la source
Reid Blomquist votre réponse tout simplement excellente .. fonctionne comme un charme
mohammad aquil

Réponses:

22

Pour ce faire, vous devez d'abord (si vous ne l'avez pas déjà fait) créer un répertoire de modèles personnalisé dans le package de conception RWD. Cela évite de réécrire ou d'écraser vos modèles par défaut qui vivent dans magento/app/design/frontend/rwd/default/template.

Par exemple, nous allons créer magento/app/design/frontend/rwd/custom/template

Le modèle spécifique que nous allons modifier est le menu supérieur renderer.phtml- qui réside à magento/app/design/frontend/rwd/default/template/page/html/topmenu/renderer.phtml. Pour étendre ce fichier correctement, créez une structure de répertoires correspondante dans le magento/app/design/frontend/rwd/custom/templaterépertoire que nous venons de créer - vous devriez vous retrouver avec un répertoire qui ressemble à ceci:magento/app/design/frontend/rwd/custom/template/page/html/topmenu

Une fois votre répertoire de modèles de menu supérieur créé, copiez le renderer.phtmlfichier rwd/default/template/page/html/topmenudans le rwd/custom/template/page/html/topmenurépertoire que vous venez de créer.

Ce fichier doit contenir le code suivant aux ~ lignes 62 - 71:

    if (!empty($_hasChildren)) {
    $html .= '<ul class="level'. $childLevel .'">';
    $html .=     '<li class="level'. $nextChildLevel .'">';
    $html .=         '<a class="level'. $nextChildLevel .'" href="'. $child->getUrl() .'">';
    $html .=             $this->__('View All ') . $this->escapeHtml($this->__($child->getName()));
    $html .=         '</a>';
    $html .=     '</li>';
    $html .=     $this->render($child, $childrenWrapClass);
    $html .= '</ul>';
}

Dans votre fichier copié, vous souhaiterez supprimer ou commenter la section médiane afin de vous laisser avec:

    if (!empty($_hasChildren)) {
    $html .= '<ul class="level'. $childLevel .'">';
    $html .=     $this->render($child, $childrenWrapClass);
    $html .= '</ul>';
}

Une fois que vous avez enregistré votre fichier, vous pouvez aller dans adminhtml -> Système -> Configuration -> Général -> Conception -> Thèmes et définir le champ "Modèles" sur la valeur "personnalisé" -> Enregistrer la configuration, puis vider le cache.

Vous ne devriez plus voir la partie "Afficher tout XXX" de la navigation de vos sites!

Reid Blomquist
la source
Cela a résolu le problème. Je suis tombé sur un article similaire, mais cela n'a pas expliqué la création de répertoires personnalisés ou la suppression du cache.
Matt
-2

Vous pouvez également ajouter ce CSS quelque part (comme styles.css)

.view-all {
    display: none;
}
user2993265
la source
cacher quelque chose avec css ne le supprime pas réellement, il le cache juste
Haim