2012-03-18 28 views
6

Tôi có tiện ích con thu thập trong biểu mẫu của tôi. Đó được hiển thị như:Tạo biểu mẫu cho tiện ích con sưu tập

Đội 0 player1 inputfield
1 player2 inputfield

Tôi muốn không hiển thị chữ 'đội' và '0' và '1'. Tôi có khối này trong mẫu fields.html.twig của mình, nhưng không thực sự chắc chắn cách chỉnh sửa.

{% 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 %} 

dạng 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.

Trả lời

5

Những lab này được tạo trong khối form_label. Tôi thường quấn chúng trong một div và đặt chúng ẩn khi cần thiết.

Edit:

Có một giải pháp tốt hơn :).

Thay đổi collection phần của ChallengeType.php với sau

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

Bây giờ những nhãn không mong muốn sẽ có team-collection lớp. Trong tệp css của bạn, bạn có thể đặt display:none cho label.team-collection. Không cần thay đổi định nghĩa khối chủ đề biểu mẫu.

+0

Tôi có một câu hỏi khác. Tôi có một widget datetime mà rõ ràng sử dụng form_label đó. Tôi đã chỉnh sửa bài viết đầu tiên của mình cho những gì tôi có bây giờ. Làm cách nào để khắc phục điều này để nhãn biểu mẫu sẽ bị ẩn cho bộ sưu tập nhưng không bị ẩn cho tiện ích con ngày giờ? – mattyh88

+0

Tôi đã tìm thấy một thông báo có thể đặt tùy chọn hiển thị trên một trường riêng lẻ như sau: http://brentertainment.com/other/docs/cookbook/form/twig_form_customization.html#how-to-customize-an-individual-field Nhưng có cách nào để làm điều này cho một nhãn không? – mattyh88

+0

Có thể thực hiện được. Nhưng nó là không cần thiết và phức tạp. Vui lòng làm theo giải pháp đã chỉnh sửa và cho biết kết quả :). –

Các vấn đề liên quan