2012-03-18 7 views
6

私は自分のフォームにコレクションウィジェットを持っています。コレクションウィジェットをテーマにしたフォーム

チーム0 player1の入力フィールド
1 player2の入力フィールド

私は単語「チーム」と「0」と「1」が表示されませんしたいと思い

:それはのように表示されます。 fields.html.twigテンプレートにこのブロックがありますが、これを編集する方法は実際にはわかりません。

{% block collection_widget %} 
{% spaceless %} 
    {% if prototype is defined %} 
     {% set attr = attr|merge({'data-prototype': form_row(prototype) }) %} 
    {% endif %} 
    {{ block('form_widget') }} 
{% endspaceless %} 
{% endblock collection_widget %} 

{% block form_label %} 
{% spaceless %} 
    <div class="hidden"> 
     {{ block('generic_label') }} 
    </div> 
{% endspaceless %} 
{% endblock form_label %} 

ChallengeType形式:

class ChallengeType extends AbstractType 
{ 
    public function buildForm(FormBuilder $builder, array $options) 
    { 
     $builder 
      ->add('teams', 'collection', array(
       'type' => new TeamType(), 
       'allow_add' => true 
      )) 
      ->add('place') 
      ->add('date'); 
    } 

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

    public function getDefaultOptions(array $options) 
    { 
     return array('data_class' => 'Tennisconnect\DashboardBundle\Entity\Challenge'); 
    } 
} 

Thxを。

答えて

5

ブロックはform_labelブロックで作成されます。私は通常それらをdivにラップし、必要に応じて隠しておく。

編集:

良好な溶液:)があります。さて、これらの不要なラベルがteam-collectionクラスを持つことになります

->add('teams', 'collection', array(
       'type' => new TeamType(), 
       //label for Teams text 
       'attr' => array('class' => 'team-collection'), 
       //label for each team form type 
       'options' => array(
        'attr' => array('class' => 'team-collection') 
       ), 
       'allow_add' => true 
      )) 

以下とChallengeType.php

変更collectionセクション。あなたのCSSファイルでをlabel.team-collectionに設定することができます。フォームのテーマブロック定義を変更する必要はありません。

+0

私は別の質問があります。私は明らかにそのform_labelも使用しているdatetimeウィジェットを持っています。私は自分の最初の投稿を編集しました。フォームラベルはコレクションでは非表示になりますが、datetimeウィジェットでは非表示にならないようにするにはどうすればよいですか? – mattyh88

+0

私はこのような個々のフィールドにレンダリングオプションを設定できるということを発見しました:http://brentertainment.com/other/docs/cookbook/form/twig_form_customization.html#how-to-customize-an-individual-fieldしかしラベルのためにこれを行う方法はありますか? – mattyh88

+0

はい、できます。しかし、それは不要で複雑です。編集した解決策に従って、結果について教えてください:)。 –

関連する問題