La boîte à outils des utilisateurs de Magento : ressources, analyses, trucs et astuces, dossiers, extensions, tests

Découvrir les widgets Magento

Magento Widgets

L’automne sera chargé en mises à jour Magento. Magento Enterprise Edition 1.6.0.0 sera lancé sous peu (la version RC 1 est disponible pour les partenaires depuis le 8 octobre). Quant à Magento Community Edition, il passera en version 1.4.0.0 avant Noël (I hope so, Yoav!).

Cette nouvelle série Magento va très vite creuser l’écart avec ses concurrents (mais aussi avec les anciennes séries Magento…), grâce à des fonctionnalités vraiment intéressantes. Outre le nouveau système de calcul de prix (dont les tests m’ont bien occupé au début de l’été), Magento intègrera également un moteur de widgets.

Des widgets, pour quoi faire

Les widgets sont partout dans les applications web aujourd’hui car ils permettent aux utilisateurs non techniciens d’ajouter des contenus dynamiques à leur site web. Plus besoin d’un développement avancé pour afficher la liste des 5 produits les plus vus de la semaine… même s’il faut des développeurs pour programmer les widgets qui feront cela ! Mais si les widgets sont suffisamment bien conçus, on pourra par exemple :

  • placer des vidéos
  • accéder à d’autres services web (réseaux sociaux, flux RSS, partenaires, etc.)
  • afficher un nuage de tags
  • lister les derniers commentaires
  • classer les produits par avis des clients
  • etc.

Comment créer un widget Magento ?

Les widgets Magento sont des blocs du frontend dont le comportement est défini dans l’interface d’administration. Ils doivent être développer selon la même approche que les modules Magento. Les développeurs Magento ne seront donc pas dépaysés, la logique reste la même : un dossier pour le widget avec sa configuration XML, son modèle métier, ses helpers et son activation dans app/etc/modules. Jusque là, rien de neuf.

La grosse différence est l’apparition d’un fichier widget.xml dans le dossier etc du module, à côté du config.xml. Il sert à déclarer le widget dans le moteur de widgets afin de le rendre disponible à l’utilisateur du backend.

Pour que le widget fonctionne, il doit implémenter une interface (dans le sens programmation orientée objet) pour gérer les flux de données (ajout, modification et accès) et afficher le résultat (méthode toHtml()).

Attention à faire un travail propre ! Toutes les méthodes de cette interfaces existent dans le noyau de Magento dans des classes abstraites. On peut donc tirer bon avantage à les utiliser pour fiabiliser le rendu final. Le premier didacticiel sur le site officiel est très clair sur ce point.

Comment utiliser un widget Magento ?

Une fois programmé et correctement installé, le widget est accessible via le module wysiwyg. Ah oui, j’ai oublié de le dire : Magento intègrera désormais un module wysiwyg en standard. Un progrès notable !

La suite est tellement simple que je ne vois pas l’intérêt d’expliquer comment s’en servir…

Pour conclure

Je vois un énorme avantage avec l’arrivée des widgets : de nombreuses extensions vont pouvoir disparaître et simplifier le travail de développement et d’intégration des sites. Sans oublier que ce ménage salvateur va fiabiliser la plate-forme. Je suis content de cette série 1.4, vraiment content !

Pour aller plus loin

Vous pouvez suivre les réponses grâce au flux RSS 2.0.