2017-08-07 6 views
0

私のフォームはとてもうまく動作しますが、 "allow_add"を使って別のファイルをアップロードしたいと思います。 私はそれを初めて使うので、使い方が分かりませんでした。 のUserType:"allow-add"の使い方

public function buildForm(FormBuilderInterface $builder, array $options) 
{ 
    $builder 
     ->add('firstname',TextType::class) 
     ->add('lastname', TextType::class) 
     ->add('email', EmailType::class) 
     ->add('fichiers', CollectionType::class, array(
      'type' => new UserFileType(), 
      'allow_add' => true, 
      'allow_delete' => true, 
      'prototype' => true, 
      'by_reference' => false, 
      'data' => array(new UserFile()))) 
    ; 
} 

UserFileType:

public function buildForm(FormBuilderInterface $builder, array $options) 
{ 
    $builder 
     ->add('documentFile', 'file',array(
     'label' => 'Uploader' 
    )) 
    ; 
} 

ビュー:

{{ form_start(form) }} 
      <div class="add-user-form-input"> 
       <div class="col-md-6 col-sm-6"> 
        {{ form_widget(form.firstname,{'attr': {'placeholder': 'Nom'}})}} 
       </div> 

       <div class="col-md-6 col-sm-6"> 
        {{ form_widget(form.lastname,{'attr': {'placeholder': 'Prénom', 'class' : 'last-input'}})}} 
       </div> 

       <div class="col-md-12 col-sm-12"> 
        {{ form_widget(form.email,{'attr': {'placeholder': 'Email', 'class' : 'last-input'}})}} 
       </div>     

       <div class="col-md-6 col-sm-6"> 
        {% for fichier in form.fichiers %} 
         {{ form_row(fichier.documentFile) }} 
        {% endfor %} 
       </div> 

       <div class="col-md-6 col-sm-6"> 
        {{ form_widget(form.save,{'attr': { 'class' : 'add-user-upload-one'}})}} 
       </div> 
      </div> 
     {{ form_end(form) }} 

私は事前にあなたに感謝:)

ここ

は私の2つのフォームと私のタイプです

答えて

0

SymfonyのFileType(How to upload files in symfony))を使ってファイルをアップロードしてみてください。
あなたが好きな何かを行うことができるはず:

->add('fichiers', FileType::class, array(
    'multiple' => true 
)) 

あなたには、いくつかの他の理由で、カスタムフォームタイプを必要とするが、これは非常によく、あなたがいない場合は動作するかどうかわかりません。