2016-11-03 10 views
1

私のアプリケーションでは、ユーザは多くの言語を持つことができますのでUserLanguageエンティティはManyToOneの関係で関連付けられています。ユーザエンティティクラスでsymfony 2.8 - フォームコレクションタイプのレンダリングのみのラベル

:言語のエンティティクラスで

/** 
* @ORM\OneToMany(targetEntity="TraineeLanguage", mappedBy="trainee", cascade={"persist"})) 
*/ 
private $languages; 

public function __construct() 
{ 
    $this->languages = new ArrayCollection(); 
} 

/** 
* @ORM\ManyToOne(targetEntity="Trainee", inversedBy="languages") 
* @ORM\JoinColumn(name="trainee_id", referencedColumnName="id") 
*/ 
private $trainee; 

今、私は、ユーザー・プロファイル・フォームで言語形式のコレクションを作成したいと思います:

->add('languages', CollectionType::class, array(
    'type' => TraineeLanguageType::class, 
    'required' => false 
)) 

私の言語フォームクラス:

私は、フォームに

{{ form_row(trainee_background_information_form.languages) }} 

を表示しようとすると、

class TraineeLanguageType extends AbstractType 
{ 
    public function buildForm(FormBuilderInterface $builder, array $options) 
    { 
     $builder 
      ->add('language', TextType::class, array(
       'attr' => array(
        'placeholder' => 'Language' 
       ), 
       'required' => false 
      )) 
      ->add('level', TextType::class, array(
       'attr' => array(
        'placeholder' => 'Level' 
       ), 
       'required' => false 
      )); 
    } 
    public function configureOptions(OptionsResolver $resolver) 
    { 
     $resolver 
      ->setDefaults(array(
       'data_class' => 'IndexBundle\Entity\TraineeLanguage' 
      )); 
    } 

    public function getName() 
    { 
     return 'language'; 
    } 
} 

は今だけのラベルが表示されます。

また、それはで作業されていません。

{{ form_widget(trainee_background_information_form.languages) }} 

または

{% for language in trainee_background_information_form.languages %} 
    {{ form_row(language) }} 
{% endfor %} 

は、私のコードの誰も通知ミスをして、何が起こっているか知っていますか?

答えて

2

コレクションタイプを使用する場合は、このタイプのフィールドを処理するために、追加のhtml & jsを記述する必要があります。 symfonyのドキュメントの詳細はhttp://symfony.com/doc/current/reference/forms/types/collection.html

+0

です。 MopaBootstrapとBraincraftedBootstrapバンドルはビューをレンダリングしたので、私は彼らがスタイリングしてJS機能を作成していないと思った。ありがとうございました。 –

関連する問題