Nous contacter

8 - COMMENT METTRE EN PLACE UN GRID EN BACK OFFICE DE MAGENTO 1 ?

Nous allons désormais ajourer les formulaires nécessaires à l'administration de notre table, le tout via l'interface du grid magento. Dans ce tutoriel nous allons voir une version assez basique pour apprendre les incontournables, nous verrons dans une prochain cours, comment customiser ce module pour obtenir un affichage plus complet et dynamique.

MODIFICATION DE L'APPEL DU GRID

Nous allons commencer par modifier l'appel du grid actuel dans le block produit, Valibus/Gestion/Block/Adminhtml/Produit.php

Contenu de la page

On ajoute ici un label pour le bouton add que l'on ne supprimer plus, et on active l'option saveparameterinsession. Le headertext est modifié au passage pour plus cohérence mais ce n'est ici que du cosmétique.La même function parameterinsession va d'ailleurs être également ajoutée dans l'édition du fichier Grid.php, Valibus/Gestion/Block/Adminhtml/Produit/Grid.php. On a modifie également la fonction de fin de fichier, getRowUrl pour qu'elle renvoie vers une fiche Produit.

Contenu de la page

CRÉATION DU FORM CONTAINER

Nous allons maintenant créer l'ensemble des fichiers propres aux formulaires du grid, à commencer par le form container. Créons donc le fichier : 

Contenu de la page

Comme vous le constatez on commence par définir un Id, un block_group et le controller se rapportant à nos fomulaires. On fait également un peu de cosmétique en redéfinissant le label de nos boutons.

La fonction getheaderText est elle implémentée pour afficher une en-tête différent en fonction d'un écran d'édit ou d'ajout. On passe par cela par un test de mage::registry('gestion_data'). Qui correspond pour l'explication à une variable de session.

AJOUT DES TABS DANS LE BACK OFFICE

Contenu de la page

La partie tabs correspond aux onglet verticaux dans l'écran de gestion de notre Grid (il y en beaucoup d'utilisé lors de la création des produits du catalogue par exemple) Dans ce fichier (Valibus/Gestion/Block/Adminhtml/Produit/Edit/Tabs.php) on construit d'abord le container puis la partie function beforetohtml définie elle l'ajout des tabs proprement dit, via la fonction addTab.

CRÉATION DU FORMULAIRE

Passons désormais à la création du formulaire lui même, dans le fichier 

Contenu de la page

Cette partie définie donc la création du formulaire, que nous implémentons dans le fichier ci dessous, Valibus/Gestion/Block/Adminhtml/Produit/Edit/Tab/Form.php. On y définie les champs de notre formulaire, ainsi que le préremplissage en cas d'édit à l'aide du registry. (Rappelez vous que l'on utilise le même formulaire que l'on soit en processus d'édition ou d'ajout.)

Contenu de la page

MODIFICATION DU CONTROLLER

Terminons ce tutoriel par la modification de notre controller, pour lui ajouter les functions newAction, editAction, saveAction, deleteAction

Contenu de la page

Deux informations importantes ici, la redirection de l'action new vers edit à l'aide _forward, ainsi que l'utilisation de redirect implémentée pour notre propre controller et non pas avec un simple */*/.

Etape suivante : 9 - Mass Action dans le grid magento

Si ce ne tutoriel ne répond à votre demande plus précise, nous avons également un développeur magento à votre service.

inscription 410 day

410 Day : ne manquez pas notre journée de webinars !

Rendez-vous le 6 avril 2023 pour une journée acquisition, fidélisation et conversion !

EN SAVOIR PLUS