Una de las funcionalidades básicas para un CMS es una funcionalidad de bloques, con Sonata tenemos un bundle para añadir esa funcionalidad SonataBlockBundle
Lo instalamos
composer require sonata-project/block-bundle
Lo configuramos en el fichero sonata_block.yaml
sonata_block: default_contexts: [sonata_page_bundle] blocks:
El bundle nos proporciona funciones para Twig para interactuar con los bloques
Renderizar una instancia:
{{ sonata_block_render(block) }}
Renderizar un bloque proprocionando el tipo y las opciones:
{{ sonata_block_render({ 'type': 'sonata.block.service.rss' }, { 'title': 'Sonata Project\'s Feeds', 'url': 'https://sonata-project.org/blog/archive.rss' }) }}
El bundle nos proporciona una serie de bloques por defecto estos son: EmptyBlockService, TextBlockService, RssBlockService y MenuBlockService.