簡體   English   中英

Symfony2 twig覆蓋自定義塊下的提交塊

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM