Override un template du core de Sylius dans un thème
Sylius est une plateforme e-commerce flexible et modulaire construite sur Symfony. L'un de ses principaux atouts est la possibilité d'adapter son apparence et son comportement en surchargeant les templates Twig fournis par le core.
Dans cet article, nous allons voir comment override un template du core de Sylius à l'intérieur d'un thème.
Structure des templates dans Sylius
Par défaut, les templates sont stockés dans les bundles de Sylius, notamment dans SyliusShopBundle, qui gère l'affichage du côté client.
Exemple d'un fichier de menu dans le core de Sylius :
Si l'on souhaite personnaliser ce fichier dans un thème, il faut le dupliquer en respectant la structure spécifique des templates de Sylius.
Override du template dans un thème
Créer le dossier du thème
Assurez-vous que votre thème est bien configuré dans /themes/NomDuTheme/composer.json
Reproduire la structure du fichier dans le thème
Pour override le fichier de menu, il faut créer un fichier à l'emplacement suivant :
Le chemin respecte la structure suivante :
themes/[NomDuThème]/templates/bundles/[NomDuBundle]/[chemin du fichier original]
Attention à bien modifier "ShopBundle" en "SyliusShopBundle" !
Modifier le template
Une fois le fichier copié, vous pouvez le modifier selon vos besoins
Tester et vider le cache
Après modification, pensez à vider le cache de Symfony pour que Sylius prenne en compte les nouveaux templates :
Conclusion
Surcharger un template dans un thème Sylius est une méthode puissante pour personnaliser l'affichage sans modifier directement les fichiers du core. Il suffit de respecter la structure des fichiers et de bien positionner les nouveaux templates dans le répertoire du thème.
En appliquant cette approche, vous garantissez une meilleure maintenabilité de votre projet tout en conservant la compatibilité avec les mises à jour de Sylius.
Si vous souhaitez aller plus loin ou avez besoin d'un accompagnement sur mesure, n'hésitez pas à nous contacter. Chez Aality, nous sommes experts Sylius et pouvons vous aider à optimiser et personnaliser votre boutique en ligne efficacement.