Archive pour juin 2013

Sonata : Améliorer le CKEditor de FormatterBundle

jeudi 20 juin 2013

Nous allons insérer ici deux choses :

  • Un plugin permettant d’ajouter des vidéos Youtube dans CKEditor
  • Utiliser un « File Browser » pour gérer les différents médias : KCFinder

On va commencer par étendre le FormatterBundle :

php app/console sonata:easy-extends:generate --dest=src SonataPageBundle

que l’on va ensuite activer dans AppKernel.php

1
2
3
4
5
6
7
8
9
10
11
public function registerBundles()
{
    // ...
 
    $bundles = array(
        // ...
        new Application\Sonata\FormatterBundle\ApplicationSonataFormatterBundle(),
    );
 
    // ...
}

Lire le reste de cet article »

Sonata : Créer un MediaBlock personnalisé

vendredi 14 juin 2013

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 »