Grid Magento, gérer votre table - tuto création de module magento 8/10
Agence digitale à Lyon, Expert magento, consultant référencement, développement Magento

Grid Magento, gérer votre table – (tutoriel 8/10)

Après avoir affiché vos données dans un écran de type grid, vous allez sans doute vouloir les ajouter directement depuis le back office? Nous allons donc mettre cette étape en pratique tout au long de ce tutoriel, pour ajouter éditer et supprimer des éléments du tableau.

Nous allons désormais ajouter les formulaires nécessaires à l’administration de notre table, le tout via l’interface du grid magento. Dans cette étape de la création du notre module magento 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.

  1. Modification de l’appel du Grid
  2. Création du form container
  3. Ajout des tabs
  4. Ajout des formulaires.
  5. Modification du controller.

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

On ajouter 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.

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 : Valibus/Gestion/Block/Adminhtml/Produit/Edit.php

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

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 Valibus/Gestion/Block/Adminhtml/Produit/Edit/Form.php :

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.)

Modification du controller

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

 

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éponds à votre demande plus précise, nous avons également un développeur magento à votre service.

Laisser un commentaire

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

*

Présentation patrick valibus consultant digital et expert en referencement à lyon
Prendre RDV