2016-07-26 136 views
3

我在编辑表单上对表单集合进行树枝渲染时出现问题。 表单加载没有问题,但收集字段的标签加倍和修改从选项到数字jsfiddle将显示我的意思。Symfony Form Collection树枝渲染

  1. jsfiddle output of the html
  2. Also a screenshot

嫩枝模板:

{% block body %} 
    <div class="row"> 
     <div class="col-md-12"> 
      <a href="#" class="add-choice btn btn-default" aria-label="Add Choice"> 
       <span class="glyphicon glyphicon glyphicon-plus" aria-hidden="true"></span> 
       Adauga Camp 
      </a> 
     </div> 
    </div> 
    <div class="row"> 
     <div class="col-md-12"> 
      <div class="panel panel-default"> 
       <div class="panel-heading"> 
        <h1>Editeaza intrebarea</h1> 
       </div> 
       <div class="panel-body"> 
        {{ form_start(edit_form, {'attr': {'class': 'form-horizontal'} }) }} 
        <div class="row"> 
         <div class="form-group"> 
          {{ form_label(edit_form.question, null, {'label_attr': {'class': 'col-sm-2 control-label'} }) }} 
          <div class="col-md-8"> 
           {{ form_widget(edit_form.question, {'attr': {'class': 'form-control'} }) }} 
           {{ form_errors(edit_form.question) }} 
          </div> 
         </div> 
        </div> 
        <div class="row"> 
         <div class="form-group"> 
          {{ form_label(edit_form.surveyId, null, {'label_attr': {'class': 'col-sm-2 control-label'} }) }} 
          <div class="col-md-8"> 
           {{ form_widget(edit_form.surveyId, {'attr': {'class': 'form-control'} }) }} 
           {{ form_errors(edit_form.surveyId) }} 
          </div> 
         </div> 
        </div> 
        <div class="row"> 
         <div class="form-group"> 
          {{ form_label(edit_form.fieldType, null, {'label_attr': {'class': 'col-sm-2 control-label'} }) }} 
          <div class="col-md-8"> 
           {{ form_widget(edit_form.fieldType, {'attr': {'class': 'form-control'} }) }} 
           {{ form_errors(edit_form.fieldType) }} 
          </div> 
         </div> 
        </div> 
        <div class="row"> 
         <div class="form-group"> 
          {{ form_label(edit_form.categoryId, null, {'label_attr': {'class': 'col-sm-2 control-label'} }) }} 
          <div class="col-md-8"> 
           {{ form_widget(edit_form.categoryId, {'attr': {'class': 'form-control'} }) }} 
           {{ form_errors(edit_form.categoryId) }} 
          </div> 
         </div> 
        </div> 
        <div class="row"> 
         <div class="form-group"> 
          <div class="col-md-8"> 
           {{ form_widget(edit_form._token, {'attr': {'class': 'form-control'} }) }} 
           {{ form_errors(edit_form._token) }} 
          </div> 
         </div> 
        </div> 
        <div class="multiple-choice-prototype" 
         data-prototype="{{ form_widget(edit_form.answerId.vars.prototype)|e('html_attr') }}"> 
         {{ form_widget(edit_form.answerId) }} 
        </div> 
        {{ form_widget(edit_form) }} 
        <div class="row"> 
         <div class="form-group"> 
          <div class="col-sm-offset-2 col-sm-10"> 
           <button type="submit" value="Edit" class="btn btn-default">Salveaza</button> 
          </div> 
         </div> 
        </div> 
        {{ form_end(edit_form) }} 
        <div class="row"> 
         <div class="col-md-12"> 
          <div class="btn-group"> 
           {{ form_start(delete_form) }} 
           <a class="btn btn-default" href="{{ path('surveyquestion_index') }}">Inapoi</a> 
           <input class="btn btn-default" type="submit" value="Sterge"> 
           {{ form_end(delete_form) }} 
          </div> 
         </div> 
        </div> 
       </div> 
      </div> 
     </div> 
    </div> 
{% endblock %} 

嫩枝为现场:

{% block _survey_question_answerId_entry_widget %} 
    <div class="row multiple-choice-container"> 
     <div class="form-group"> 
      {{ form_label(form.value, null, {'label_attr': {'class': 'col-sm-2 control-label'} }) }} 
      <div class="col-md-8"> 
       <div class="input-group"> 
        <div class="input-group-addon"> 
         <span class="glyphicon glyphicon-record" aria-hidden="true"></span> 
        </div> 
        {{ form_widget(form.value, {'attr': {'class': 'form-control'} }) }} 
        {{ form_errors(form.value) }} 
       </div> 
      </div> 
      <div class="col-md-2"> 
       <div class="btn-group"> 
        <a href="#" class="add-choice btn btn-default" aria-label="Add Choice"> 
         <span class="glyphicon glyphicon glyphicon-plus" aria-hidden="true"></span> 
        </a> 
        <a href="#" class="remove-choice btn btn-default" aria-label="Remove Choice"> 
         <span class="glyphicon glyphicon glyphicon-minus" aria-hidden="true"></span> 
        </a> 
       </div> 
      </div> 
     </div> 
    </div> 
{% endblock %} 

回答

2
->add('answerId', CollectionType::class, [ 
     'entry_options' => [ 
      'label' => false, 
     ], 
     'entry_type' => AnswerType::class, 
     'allow_add' => true, 
     'allow_delete' => true, 
     'label' => false, 
     'by_reference' => false, 
    ]) 

这应该做的工作

1

删除{{ form_label(form.value, null, {'label_attr': {'class': 'col-sm-2 control-label'} }) }}

+0

叶氏这部分作品,但因为我有我的与新动作共享的表单如果我删除了标签,我将不会在新动作上设置标签,并且我不想要我的标签命名为0,1,2,3 –

+0

也删除它不会删除编号。现在做了一个测试:D –

0

设置标签,以虚假的表单类型

例子:

$builder->add('yourAttribute', null, array('label' => false));