Sonata media: Pas de vignette à l'édition

Soumis par GoZ le dim 27/04/2014 - 10:07

Sonata media: Pas de vignette à l'édition

Après avoir activé et configuré sonata media, couplé à sonata admin, j'affiche bien un champ d'upload d'image via le provider sonata.media.provider.image
Dans le fichier MonentityAdmin.php
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper->add('media', 'sonata_media_type', array(
'provider' => 'sonata.media.provider.image',
'context' => 'default',
))
;
}

Lors de la soumission de mon formulaire, l'upload se fait bien et l'image est bien liée à mon entité
Monentity.php :
use Application\Sonata\MediaBundle\Entity\Media as Media;

/**
* Monentity Entity
*/
class Monentity
{
// ...

protected $media;

/**
* @param MediaInterface $media
*/
public function setMedia(Media $media)
{
$this->media = $media;
}

/**
* @return MediaInterface
*/
public function getMedia()
{
return $this->media;
}
}
Et mon fichier Monentity.orm.yml
# ...
oneToOne:
media:
targetEntity: Application\Sonata\MediaBundle\Entity\Media
joinColumn:
name: media_id
referencedColumnName: id
cascade: [ "persist", "refresh", "remove" ]
fetch: LAZY

Seulement à l'édition de mon entité existante, il ne m'affiche pas l'image de l'entité.

Pourquoi ? J'ai simplement oublié d'ajouter à la configuration d'utiliser les templates des widgets de media
Dans app/config/config.yml :
# Twig Configuration
twig:
debug: "%kernel.debug%"
strict_variables: "%kernel.debug%"
form:
resources:
# other files
- 'SonataMediaBundle:Form:media_widgets.html.twig'

Sonata Media s'affiche désormais correctement dans mon formulaire.