如下面的屏幕截图所示,我的表单有多次练习字段。 (用户将不止一次进行锻炼)。我想自定义表单,因此只显示每个特定练习的第一个练习选择字段。他们无法添加额外的集合,也无法更改练习。表单元素从通用例程加载。
我将如何在Symfony2和Twig中执行此操作?
另外,我如何通过表单元素而不是选择框打印练习的名称?
我目前在显示表单方面有以下内容:
{{ form_start(form) }}
{% for exercise in form.logExercises %}
<div class="row">
<div class="col-md-3">
{{ form_label(exercise.exercise, 'Exercise', {'label_attr': {'class': 'control-label'}}) }}
{{ form_errors(exercise.exercise) }}
{{ form_widget(exercise.exercise, {'attr': {'class': 'form-control'}}) }}
</div>
<div class="col-md-1">
{{ form_label(exercise.weight, 'Weight', {'label_attr': {'class': 'control-label'}}) }}
{{ form_errors(exercise.weight) }}
{{ form_widget(exercise.weight, {'attr': {'class': 'form-control'}}) }}
</div>
<div class="col-md-1">
{{ form_label(exercise.repetitions, 'Reps', {'label_attr': {'class': 'control-label'}}) }}
{{ form_errors(exercise.repetitions) }}
{{ form_widget(exercise.repetitions, {'attr': {'class': 'form-control'}}) }}
</div>
</div>
<br>
{% endfor %}
<hr>
<div class="row">
<div class="col-md-4">
<div class="form-group">
{{ form_label(form.note, 'Notes', {'label_attr': {'class': 'control-label'}}) }}
{{ form_errors(form.note) }}
{{ form_widget(form.note, {'attr': {'class': 'form-control'}}) }}
</div>
</div>
</div>
<hr>
<div class="row">
<div class="col-md-7">
<div class="form-group">
<button type="submit" class="btn btn-default btn-block">Save Session</button>
</div>
</div>
</div>
{{ form_end(form) }}
答案 0 :(得分:0)
我猜测你的练习属于&#34;实体&#34;表格字段类型?如果没有,你应该考虑它。然后,您将能够使用custom query,您只能选择已分组实体的最顶层项目(按练习类型对它们进行分组)。如果不看一些额外的代码,就不能说更多。希望这有帮助,随时可以询问详细信息。