Best practice

Magento – Cacher des éléments du menu de navigation en back-office

Dans un souci d’ergonomie et d’allégement du back-office, il est intéressant de cacher certains menus et sous-menus de la navigation principale.

Vous n’utilisez pas les Rapports de Magento ? Vous désirez cacher « Mots clés » dans le menu « Catalogue » ? Voici la méthode que nous affectionnons.

Utilisation d’un module local de surcharge

Dans cet exemple, nous utilisons un module appelé Soon_MageOverload.
Pour en savoir plus sur le module local de surcharge, merci de lire cet article.

Déclarer le module

Fichier app/etc/modules/Soon_MageOverload.xml

<?xml version="1.0"?>
<config>
    <modules>
        <Soon_MageOverload>
            <active>true</active>
            <codePool>local</codePool>
        </Soon_MageOverload>
    </modules>
</config>

Configuration initiale du module

Fichier app/code/local/Soon/MageOverload/etc/config.xml

<?xml version="1.0"?>
<config>
    <modules>
        <Soon_MageOverload>
            <version>0.1.0</version>
        </Soon_MageOverload>
    </modules> 
</config>

Cacher des éléments du menu

L’idée est de récupérer le noeud XML de l’élément que l’on veut cacher et d’y créer une dépendance à un module qui n’existe pas. En modifiant le fichier config.xml du module local de surcharge on peut ainsi arriver à ses fins.

Exemple pour cacher les menus « Catalogue > Mots clés » et « Rapports » pour lesquels on crée une dépendance à un module « InvisibleMenuItem ».

Fichier app/code/local/Soon/MageOverload/etc/config.xml

<?xml version="1.0"?>
<config>
    <modules>
        <Soon_MageOverload>
            <version>0.1.0</version>
        </Soon_MageOverload>
    </modules>
    <adminhtml>
        <menu>
            <catalog>
                <children>
                    <tag>
                        <depends>
                            <module>InvisibleMenuItem</module>
                        </depends>
                    </tag>
                </children>
            </catalog>
            <report>
                <depends>
                    <module>InvisibleMenuItem</module>
                </depends>
            </report>
        </menu>
    </adminhtml> 
</config>
E-Commerce, Magento

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *