覆盖 Symfony2 删除表单

Overriding Symfony2 delete form

几个小时以来,我一直在努力寻找一种方法来实现这一目标:如何覆盖 Symfony2 删除表单?

当我像这样在我的 Twig 中调用删除表单时:

{{ form(delete_form }}

它实际呈现:

<form name="form" method="post" action="...">
    <input type="hidden" name="_method" value="DELETE">
    <div id="form">
        <div>
             <button type="submit" id="form_submit" name="form[submit]">
                 Delete
             </button>
        </div>
        <input type="hidden" id="form__token" name="form[_token]" value="...">
    </div>
</form>

好的。我可以使用我的实体控制器更改 "Delete" 上下文并添加一些 类。好

<form name="form" method="post" action="...">
    <input type="hidden" name="_method" value="DELETE">
    <div id="form">
        <div>
             <button type="submit" id="form_submit" name="form[submit]">
                 <i class="fa fa-trash"></i>
             </button>
        </div>
        <input type="hidden" id="form__token" name="form[_token]" value="...">
    </div>
</form>

现在我想添加 HTML 而不是删除,例如 Font Awesome trash icon。我怎样才能做到这一点?因此,实际的 HTML 将是:

我读过 Symfony2 cookbook,但我仍然找不到方法。有人有想法吗?

在你的 Twig 模板中试试这个 并且不要通过 formbuilder 添加提交按钮!

{{ form_start(delete_form) }}
<button type="submit" class="btn btn-danger btn-xs">
    <i class="fa fa-trash"></i>
</button>
{{ form_end(delete_form) }}