@seo-maru  2022/02/22更新

Symfony2のtwigでradioやselectのForm widgetを分解して自由なHTMLを記述する方法


twigで {{ form_widget( form.xxx ) }} って書くと、自動でHTML出力されるけど、そのHTMLを自由にカスタマイズしたい!というときは、form_widget()を使わずに、以下のようにformを分解して自由なHTMLを書くことができる

{% for key, item in form.offsetGet( quick ).children %}
  <label for="{{item.vars.id}}">
    <input type="radio" id="{{item.vars.id}}" name="{{item.vars.full_name}}" value="{{item.vars.value}}" {{ item.vars.checked ? 'checked' : '' }}>
    <span class="radio-label">{{item.vars.label}}</span>
  </label>
{% endfor %}
タイトルとURLをコピーしました