Documentation » Media

7. Security »

« 5. Usages

6. Form Type

6.1. Media Type

The sonata_media_type widget

The sonata_media_type widget

The sonata_media_type can be used to assign a Media instance to another entity. There are required parameters:
  • the provider :,, etc …
  • context : the context to use
And optionals parameters:
  • empty_on_new (default is true): the related data transformer will return null instead of an empty Media instance if no binary content is provided
  • new_on_update (default is true): create a new media instance if a binary content is set. If the value is set to false, then the media will be overwritten and related entities can be affected by this change.
// create the target object
$post = new Post();

// create the form
$builder = $this->createFormBuilder($post);
$builder->add('media', 'sonata_media_type', array(
     'provider' => '',
     'context'  => 'default'

$form = $builder->getForm();

// bind and transform the media's binary content into real content
if ($request->getMethod() == 'POST') {

    // do stuff ...

You also need to add a new form theme template to twig configuration:

    debug:            "%kernel.debug%"
    strict_variables: "%kernel.debug%"

        - '@SonataMedia/Form/media_widgets.html.twig'

Found a typo? Something is wrong in this documentation? Just fork and edit it!