Ce document se base sur la documentation de Sonata décrivant la procédure pour créer un block personnalisé.
Exposition du cas: On désire créer un slide show ou un carrousel quelconque on veut pouvoir le gérer via SonataPage, c’est à dire pouvoir gérer les images qui défilent via le CMS. L’idée est de créer un block container content_slide par exemple et pouvoir gérer les images du carrousel via des blocks media.
Nous aurons besoin des éléments suivants:
- Créer un block media personnalisé qui contiendra une image, un titre et un lien
- Créer un contexte personnalisé slide pour lequel on définira une taille de miniature spécifique
Pour réaliser cela, nous nous baserons la documentation de Sonata indiquée en début d’article. Le principe reste le même pour un MediaBlock avec quelques ajustements. Tout d’abord, voici la structure de notre Bundle :
/src
/Coolcoyote
/BlocksBundle
/Block
/SlideMediaBlockService.php
/DependencyInjection
/Configuration.php
/CoolcoyoteBlocksExtension.php
/Resources
/config
/services.xml
/views
/Block
block_slide_media.twig.html
/CoolcoyoteBlocksBundle.php
Lire le reste de cet article »