2012-03-18 24 views
6

Formumda bir koleksiyon widget'ım var.Bir koleksiyon widget'ı tema oluşturma

Takımlar 0 player1 inputfield
1 player2 inputfield

kelimesini 'ekipleri' ve '0' ve '1' göstermez istiyoruz

: Böyle görüntülenen. Bu bloğu, fields.html.twig şablonumda var, ancak bunu nasıl düzenleyeceğimi gerçekten bilmiyorum.

{% 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 formu:

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.

cevap

5

Bu Etiketler form_label satırında oluşturulur. Genellikle onları bir div'a sardım ve gerektiğinde saklıyorum.

Düzenleme:

daha iyi bir çözüm :) yoktur.

->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 
      )) 

aşağıdaki ChallengeType.php ait

Değişim collection bölüm Şimdi bu istenmeyen etiketleri team-collection sınıf var olacaktır. Css dosyanızda, label.team-collection için display:none'u ayarlayabilirsiniz. Form tema bloğu tanımını değiştirmeye gerek yok.

+0

Başka bir sorum var. Bu form_label'i de kullanan bir datetime widget'ım var. İlk gönderimi şimdi sahip olduğum şeye düzenledim. Bunu nasıl düzenlerim, böylece form etiketi koleksiyon için gizlenir ancak datetime widget'ına gizlenmez. – mattyh88

+0

Böyle bir alandaki oluşturma seçeneklerini ayarlayabileceğimi söyleyen bir şey buldum: http://brentertainment.com/other/docs/cookbook/form/twig_form_customization.html#how-to-customize-an-individual-alan Ama Bir etiket için bunu yapmanın bir yolu var mı? – mattyh88

+0

Evet, yapılabilir. Ancak gereksiz ve karmaşıktır. Lütfen düzenlenmiş çözümü takip edin ve sonucu söyleyin :). –