SonataAdmin - Пользовательский шаблон формы для каждой формы

У меня проблемы с пакетом администратора Sonata. Что я хотел бы сделать, так это:

Добавьте текст перед некоторыми метками в моей форме. Например:

Разрешение вашего изображения должно быть ..x.. .

Например, у меня есть такая форма:

protected function configureFormFields(FormMapper $formMapper)
{
     $formMapper
         ->add('locale', 'choice', array(
             'choices'   => array('nl' => 'NL', 'en' => 'EN'),
             'required'  => true,
         ))
         ->add('pageid.tag', 'text', array('label' => 'Tag'))
         ->add('description', 'text', array('label' => 'Beschrijving'))
         ->add('content', 'textarea', array('label' => 'Tekst', 'attr' => array('class' => 'ckeditor')))
         ->add('files', 'file', array('required' => false, 'multiple' => true))
    ;
}

Теперь я хотел бы добавить текст перед полем ввода файлов.

Что я сделал сейчас:

  • Добавьте это в мой config.yml (перегрузите опцию конфигурации templates/form):

    sonata_doctrine_orm_admin:
        # default value is null, so doctrine uses the value defined in the configuration
        entity_manager: ~
    
        templates:
            form:
                - MurisBundle:PageAdmin:form_admin_fields.html.twig
    

Но это будет использоваться для каждой формы, могу ли я установить определенные шаблоны форм для определенных форм?


person nielsv    schedule 13.01.2015    source источник


Ответы (2)


Вы можете указать шаблон формы в своем классе администратора, переопределяя метод getFormTheme. Добавьте этот код в свой класс администратора.

public function getFormTheme()
{
     return array_merge(
         parent::getFormTheme(),
         array('MurisBundle:PageAdmin:form_admin_fields.html.twig')
     );
} 
person Piotr Galas    schedule 14.01.2015

getPictureUrlFull().'" alt="'.$campaign->getPicture().'" style="margin-top:10px;" />Используйте "помощь"

protected function configureFormFields(FormMapper $formMapper)
{
     $formMapper
         ->add('locale', 'choice', array(
             'choices'   => array('nl' => 'NL', 'en' => 'EN'),
             'required'  => true,
             'help'      => '<img src="'.$entity->getPictureUrlFull().'" alt="'.$entity->getPicture().'" />'               
         ))

)
person Cristian Bujoreanu    schedule 13.01.2015
comment
Я думаю, что текст справки на самом деле отображается после поля, а не перед - person Cristian Bujoreanu; 13.01.2015