2017-06-06 25 views
1

メインformType(下記参照)に含めるformType(TagsType)を使用してバンドル内にタグシステムを作成しました。 $ options引数の値をMyFormTypeからTagsTypeにどのように送ることができるか知りたいです。

//... 

use EC\TagBundle\Form\Type\TagsType; 

class MyFormType extends AbstractType 
{ 
    public function buildForm(FormBuilderInterface $builder, array $options) 
    { 


    $builder   

    //... 
     ->add('tags', TagsType::class) 
    //... 
    ; 
    } 
} 

マイTagsType

//... 

use Symfony\Component\Form\Extension\Core\Type\TextType; 

class TagsType extends AbstractType 
{ 
    /** 
    * @var ObjectManager 
    */ 
    private $manager; 

    public function __construct(ObjectManager $manager) 
    { 
     $this->manager = $manager; 
    } 

    public function buildForm(FormBuilderInterface $builder, array $options) 
    { 

     $builder 
      ->addModelTransformer(new CollectionToArrayTransformer(), true) 
      ->addModelTransformer(new TagsTransformer($this->manager), true) 
     ; 
    } 

    public function configureOptions(OptionsResolver $resolver) 
    { 
     $resolver->setDefault('attr', [ 
      'class' => 'tag-input', 

     ]); 
     $resolver->setDefault('required', false); 
    } 

    public function getParent() 
    { 
     // Il retourne un TextType par défaut. 
     return TextType::class; 
    } 
} 

答えて

1

私が見つかりました。ただ、この操作を行います。

$options = $options['empty_data']; 

->add('tags', TagsType::class, ['empty_data' => $options]) 

TagsType.phpを

関連する問題