2017-02-02 5 views
1

Например, я хотел бы это сделать.Как настроить форму SonataAdminBundle

A. Показать карту вместо свойства широты и высоты.

B. Показывать эскизы изображений вместо того, чтобы выбирать поле для фотографий.

Я могу сделать такие вещи для экрана списка, как это показано ниже.

public function configureListFields(ListMapper $listMapper) 
{ 
    $listMapper 
     ->addIdentifier('id') 

     ->add('map',null,array('template' => 'AcmeAdminBundle:MyTemplate:list_map.html.twig', 
       'property_path' => false 
     )) 

После переопределения шаблона, а затем можно показать карту или делать какие-то сложные вещи в моей первоначальной list_map.html.twig

Теперь я хочу попробовать то же самое с формой, хотя,» FormMapper 'не имеет опции «шаблон».

Итак, я переопределяю form_admin_fields.html.twig и редактирую некоторые места, но он не меняет каждый объект формы.

Даже я удаляю весь код в form_admin_fields.html.twig. (делает пустой файл)

Он просто меняет расположение формы.

Я хотел бы настроить каждое текстовое поле или выбрать поле формы.

С какой целью следует начинать настраивать страницу формы в SonataAdminBundle ??

ответ

1

Попробуйте создать пользовательский тип поля для этого, как here

+0

HI @Andrey Kazmerchuk, спасибо за совет, я понял, как сделать пользовательское поле. Однако у меня все еще есть некоторые трудности с использованием пользовательских полей в Sonat Admin Bundle. Но ваш совет заставляет меня двигаться вперед. Спасибо. – whitebear

+0

Добро пожаловать. FormMapper в Sonata Admin bundle работает как обычная форма Symfony, поэтому моей ссылки должно быть достаточно. Вы просто создаете для него настраиваемый тип поля и шаблон и регистрируете его как службу. После этого его можно легко использовать в FormMapper. –