[英]Symfony2 twig override submit block under custom block
我已經制作了一個自定義表單類型與此twig模板相關聯:
{% block date_filter_widget %}
{% spaceless %}
<div class="input-daterange input-group js-datepicker">
{{ form_widget(form.fromDate) }}
<span class="input-group-addon">to</span>
{{ form_widget(form.toDate) }}
OVERRIDE THE SUBMIT BLOCK HERE
</div>
{% endspaceless %}
{% endblock %}
我想覆蓋此自定義字段/塊的提交按鈕的模板。
我已經嘗試將block submit
到這個塊中,但是這樣任何提交塊都被覆蓋(即使它們不是date_filter_widget
)。 另一種方法是手動創建提交按鈕(並傳遞屬性),但這樣我並沒有真正覆蓋表單的提交按鈕(所以我最終遇到其他問題)。
我也看到了一個解決方案,建議block submit
的if / else block submit
檢查小部件前綴是否與我的自定義類型名稱相匹配,但它看起來有點像黑客,而不是正確的覆蓋。
在那個塊中我添加了{{ block('date_submit_widget') }}
然后制作一個自定義提交塊,如:
{%- block date_submit_widget -%}
{%- set type = type|default('submit') -%}
{% set attr = attr|merge({class: (attr.class|default('') ~ ' btn btn-primary')|trim}) %}
<span class="input-group-btn">
<button type="{{ type|default('button') }}" name="{{full_name}}_filter" {{ block('button_attributes') }}>
<span class="glyphicon glyphicon-filter"></span>
</button>
</span>
{%- endblock date_submit_widget -%}
我缺少的重要部分是<button>
需要一個name
屬性,它不應該保留在其他輸入字段的相同數組中,否則驗證將失敗
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.