Lecture 5 minutes
Début mars, pas moins de 6 mois après la sortie de sa version 1.6, Sylius annonçait officiellement la sortie de sa nouvelle version 1.7. Pour cette release, les équipes se sont attelées à de “petites” améliorations aux “grands” effets, et ce n’est pas pour nous déplaire. Agence Sylius et unique Leading partner de la solution en France, Synolia fait le point sur les nouveautés.
Sylius se refait une beauté avec Sylius 1.7
Côté Front :
Dans un premier temps, Sylius a retravaillé la page d’accueil du thème par défaut de sa boutique. Son objectif ? Rendre l’expérience client plus agréable et offrir des possibilités de mise en page plus dynamiques aux marchands. Ce changement leur permet d’ancrer davantage la boutique dans les codes du e-commerce en offrant un agencement des éléments plus proche de l’organisation de leur offre.
L’idée est d’ajouter des images et des textes intervertis entre l’affichage de certains produits.
Côté back :
Pas de jaloux, le back s’est lui aussi doté d’une nouvelle interface. En se connectant au back-office, les marchands peuvent désormais accéder à un tableau de bord tout neuf. Ce dernier leur permet de voir en un seul coup d’oeil le récapitulatif mensuel des commandes (payées) sur un joli graphique.
Les informations suivantes sont désormais directement visibles :
- Le montant total des ventes
- Les commandes payées
- Le nombre de clients
- Le montant du panier moyen
- Un graphique du montant des ventes par jour
Des mails complètement revus
Le système de mails a été revu à deux niveaux. Au niveau du rendu : le système de template a été refondu pour rendre les emails responsives et traductibles. Le template de base a aussi été enrichi et est désormais beaucoup plus complet que le texte brut que nous avions jusqu’à présent.
Il est maintenant également possible de paramétrer les mails de plusieurs manières sur les différents canaux de diffusion. Le but ? Utiliser des templates ou des URLs spécifiques.
Symfony Webpack pour le front
Le thème Bootstrap officiel utilisait déjà Symfony Webpack pour la gestion du CSS et du Javascript. Il est maintenant directement intégré à Sylius. Cet ajout est encore expérimental mais fait déjà la joie des développeurs front.
Sylius 1.7 : l’expérience développeur toujours mise en avant
Découplage des tests du HTML
Lors de nos développements et plus particulièrement de nos tests fonctionnels avec Behat, nous nous sommes retrouvés confrontés à une problématique sur la création d’un thème personnel. Les tests se retrouvaient en erreur car la structure des pages, et donc les class et les id CSS, était différente de celle proposée par Sylius. De ce fait, les tests ne fonctionnaient pas. Il fallait soit respecter scrupuleusement la même nomenclature soit redéfinir les éléments dans les pages Behat.
Pour régler cette problématique, Sylius a mis en place des attributs html uniquement pour les tests.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
Dans le twig : <pre><button type="submit" class="..." id="sylius-pay-link" {{ sylius_test_html_attribute('pay-link') }}>...</button></pre> Dans la page Behat <pre class="">protected function getDefinedElements(): array { return array_merge(parent::getDefinedElements(), [ 'pay_link' = > '[data-test-pay-link]', ... ]); } </pre> |
Afin de ne pas “polluer” votre production, ces attributs sont retirés en environnement de production.
Nouveau système d’événement au niveau des templates
Le système d'événement au sein des templates étaient jusqu’à présent basé sur les événements Sonata. Ce qui était assez pratique pour injecter du code avant ou après un block, mais son utilisation s'arrêtait là. Le nouveau système d’événement proposé par Sylius offre des possibilités supplémentaires (en plus des événements Sonata) comme le fait de pouvoir injecter du code entre deux blocs mais aussi de pouvoir réorganiser les blocs. Ce qui est notamment très pratique pour réorganiser la page d’information d’une commande en BO. Cela facilite également le travail des développeurs étant donné qu’une intégration dans le Symfony profiler est présente et que les blocs sont injectés en commentaire dès le code HTML.
Les autres ajouts de Sylius 1.7
Sylius évolue vite et de nouvelles fonctionnalités sont ajoutées à chaque mise à jour.
Voici une liste non exhaustive de celles que nous avons retenues pour ce Sylius 1.7 :
- Possibilité d’avoir des produits gratuits
- La configuration des canaux se voit doter de nouvelles configurations utiles (par exemple la catégorie affichée sur chaque canal)
- Une gestion plus pratique des paiements et des expéditions via une amélioration des listes en BO
Et la suite ?
Deux autres grands sujets sont actuellement en cours chez Sylius, sans pour autant mettre de côté les petites fonctionnalités et les correctifs apportés par la communauté. Le premier est l’intégration d’Api Platform pour uniformiser l’API, et la rendre encore meilleure ! Le second sujet est de rendre Sylius compatible avec Symfony 5, la version 1.7 de Sylius n’étant pour l’instant compatible qu’avec la version 4.4 de Symfony.
Vous avez besoin d'une agence Sylius pour entamer ou faire avancer votre projet ? Contactez-nous !