Nous allons développer différents points dans cet article autour de la création d’un contenu personalisé dans le backoffice.
- Créer un menu dans le backoffice
- Créer des droits d’accès pour ce menu
- Créer le contenu
CRÉER UN MENU DANS LE BACKOFFICE
Un menu en back office se créer à l’aide du fichier etc/adminhtml.xml . Dans notre exemple nous allons y placer le code suivant:
Vous pouvez ici voir plusieurs déclarations utilisant le système de traduction vu précédemment.
menu/gestion/title correspond au titre que vous donnez dans la barre de menu en back office
children/produit/title correspond au sous menu de Gestion. On voit que l’action correspond au controllers adminhtml/gestion
CRÉER DES DROITS D’ACCÈS POUR CE MENU
Les droits d’accès dans magento sont paramétrables. Vous pouvez souhaiter ne pas donner l’accès de votre nouveau contenu à tous le monde, si il doit vous servir à lancer des batchs par exemple ou des traitements unitaires. Pour le paramétrage en lui même direction système -> permission -> role ->(selectionner le role) -> role ressource -> ressource access -> custom
Vous retrouverez votre module grace aux intitulés de la déclaration ci-dessous, à placer dans adminhtml.xml après </menu> et avant la fin de </config>
CRÉER LE CONTENU
La partie contenu ressemble en grande partie au front office vu précédemment. Nous allons néanmoins le redétailler. A noter qu’il ne s’agit ici que d’une utilisation simple pour introduire la notion de création dans le back office, magento proposant des options bien plus poussées.
MODIFIER LE CONFIG.XML
Nous allons commencer par déclarer dans notre etc/config.xml la partie routers et layout. Placer donc le code ci dessous dans le fichier après </module> et avant <frontend>
METTRE EN PLACE LAYOUT ET TEMPLATE BACKOFFICE
Coté layout le fichier à créer est celui indiqué plus haut, app/design/adminhtml/default/default/layout/gestionad.xml
Le template se trouve lui dans : app/design/adminhtml/default/default/template/gestion/voiradmin.phtml
Jusque là rien de bien nouveau utilisons un code très similaire.
CRÉATION DU BLOCK ADMINHTML
Notre block va reprendre lui aussi une structure quasi identique, Notez que l’extension de la classe mage core block template est ici plus une astuce qu’autre chose, nous verrons plus tard comment étendre la partie Grid, pour gérer les fameux tableau du back office magento. Il faut placer son code dans : Valibus/Gestion/Block/Adminhtml/Gestion.php
CRÉATION DU CONTROLLER ADMINHTML
Créer le controller en placant le code dans le fichier: Valibus/Gestion/controllers/Adminhtml/GestionController.php
Notez l’utilisation de activemenu qui permet de garder en orange (par défaut) le lien du menu dans lequel nous nous trouvons.
CONCLUSION
Ce tutoriel est certe quasi identique, mais il vous permet de lancer différent batch, ou de faire du reporting, ceci en utilisant les différents menu. Nous allons maintenant aborder la partie Grid de magento.
Etape suivante : 7 – Grid Magento, tableau en back office
Votre module nécessite l’intervention d’un expert? nous mettons à votre disposition notre service de développeur magento !