2015-04-28 2 views
1

Я загружаю изображение (медиа-объект из пакета Sonata Media Bundle) и сопоставляю его пользователю (объект поставщика пакета Sonata User Bundle). Изображение загружается, создается запись в таблице мультимедиа, ключ к записи мультимедиа добавляется в таблицу пользователя. Ошибок не было. Но когда я открываю форму для редактирования пользователя, я не вижу предварительного просмотра изображения ни имени файла рядом с кнопкой ввода файла. Как будто файл-пользователь ассоциации не распознается формой. Вот мой код:Symfony2.6 & Sonata Media Bundle & SonataUserBundle: Как получить предварительный просмотр изображения в форме редактирования

/app/config/config.yml:

sonata_media: 
    contexts: 
    vendor: 
     providers: 
      - sonata.media.provider.image 
      - sonata.media.provider.file 
     formats: 
      small_square: { width: 104, height: 104, quality: 70} 
      small_portrait: { height: 119, quality: 90} 
      small: { width: 100 , quality: 70} 
      big: { width: 1000 , quality: 70} 

/src/Application/Sonata/UserBundle/Admin/VendorAdmin.php:

protected function configureFormFields(FormMapper $formMapper) 
{ 
    ... 
    $formMapper 
      ->with('Gallery', array('class' => 'gallery')) 
      ->add('userRatingFile', 'sonata_media_type', array('label' => 'Images', 'required' => false, 
       'cascade_validation' => true, 
       'context' => 'vendor', 
       'provider' => 'sonata.media.provider.image' 
      )) 
      ->end(); 
     ... 
} 

private function doPreLogic($vendor) 
{ 
    ... 
    $vendor->setUserRatingFile($vendor->getUserRatingFile()); 
} 

/SRC/Применение/Sonata/UserBundle/Ресурсы/конфигурации/доктрина/UserType.Vendor.orm.xml:

<one-to-one field="userRatingFile" target-entity="Application\Sonata\MediaBundle\Entity\Media"> 
    <cascade> 
     <cascade-all/> 
    </cascade> 
    <join-column name="userRatingFile_id" referenced-column-name="id" /> 
</one-to-one> 

Что не быть? Как добавить предварительный просмотр загруженного файла?

ответ

1

Вы должны настроить прутик:

# Twig Configuration 
twig: 
    debug:   "%kernel.debug%" 
    strict_variables: "%kernel.debug%" 
     form: 
      resources: 
       #... 
       - SonataMediaBundle:Form:media_widgets.html.twig