覆盖Symfony2删除表单

Thé*_*héo 2 forms symfony twig

我已经打破了几个小时,现在试图找到一种方法来实现这个目标:如何覆盖Symfony2删除表单?

当我在我的Twig中调用删除表单时,如下所示:

{{ form(delete_form }}
Run Code Online (Sandbox Code Playgroud)

它实际上呈现:

<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>
Run Code Online (Sandbox Code Playgroud)

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

<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>
Run Code Online (Sandbox Code Playgroud)

现在我想添加HTML而不是删除,例如Font Awesome垃圾桶图标.我怎样才能做到这一点?因此实际的HTML将是:

我读了Symfony2食谱,但我仍然找不到办法.有人有想法吗?

psi*_*ess 5

在你的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) }}
Run Code Online (Sandbox Code Playgroud)

  • 仙女容易:1)在你的视图中,在"your-theme.html.twig"创建名为"YourType_label"的块中使用`{%form_theme yourFormVar'WourBundle:ViewDir:your-theme.html.twig'%}`,2) ","YourType_errors"和"YourType_widget"可以做任何你想做的事情.你可以在我的一个项目中看到一个样本[这里](https://github.com/ninsuo/twigfiddle/blob/master/web/src/Fuz/AppBundle/Resources/views/Fiddle/templates-theme.html.枝条) (2认同)