2017-08-07 21 views
0

我的表單工作得很好,但我想使用「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) }} 

我感謝你提前:)

回答

0

嘗試使用SymFony內置的FileType上傳文件(How to upload files in symfony)
你應該能夠做這樣的事情:

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

不知道如果您需要一些其他原因自定義表單類型,但是這個工作得很好,如果你不這樣做。