2016-01-12 3 views
2

Я хотел бы добавить коллекцию текста ввода с тем же именем (например, name = "blabla []"), поданной администратору блок с кнопками добавления/удаления.Проект Symfony Sonata: как добавить несколько входных текстов для блокировки?

Я использую collection формы типа поля, но не может видеть, добавлять/удалять кнопки

public function buildEditForm(FormMapper $formMapper, BlockInterface $block) 
{ 
    $formMapper->add('settings', 'sonata_type_immutable_array', array(
     'keys' => array(
      array('title', 'collection', 
       array('type' => 'text' , 
        'required' => true, 
        'allow_add' => true, 
        'data' => array('First' => 'One') 
        ) 
       ) 
     ) 
    )); 
} 

Я получаю ниже результата без добавления/удаления кнопок! enter image description here

Любая идея, как заставить его работать?

ответ

1

Я думаю, вы должны использовать sonata_type_collection или sonata_type_native_collection вместо collection.

Вот выдержка из field doc:

14.1.7. SONATA_TYPE_NATIVE_COLLECTION (РАНЕЕ СБОР)

Этот пакет обработки родной Symfony коллекции тип формы, добавив:

кнопка добавления, если вы установите allow_add опцию верно. кнопку удаления , если вы установите для параметра allow_delete значение true.

+0

Я попытался «sonata_type_collection» раньше, и это показывает «Невозможно получить доступ к атрибуту (» mappingtype «) на нулевой переменной в SonataDoctrineORMAdminBundle: Форма: form_admin_fields.html.twig в строке 151». sonata_type_native_collection работал! Спасибо за ответ. – Tareq

+0

Вы должны переопределить параметры с данными, указанными в документе (например: type_options) – pbenard

Смежные вопросы