Forms 如何将HTML放入按钮';什么内容?
我想要实现的是用视图帮助器呈现一个按钮(Forms 如何将HTML放入按钮';什么内容?,forms,symfony,twig,symfony-2.5,Forms,Symfony,Twig,Symfony 2.5,我想要实现的是用视图帮助器呈现一个按钮(form_row等),但我也使用了一些图标,所以我需要在按钮的内容中添加一些HTML 问题是特殊字符被转换为HTML实体,因此它不再像HTML那样工作 我想要什么: <button type="button" name="form[save]"><i class="fa fa-sign-in"></i> Sign in</button> <button type="button" name="fo
form_row
等),但我也使用了一些图标,所以我需要在按钮的内容中添加一些HTML
问题是特殊字符被转换为HTML实体,因此它不再像HTML那样工作
我想要什么:
<button type="button" name="form[save]"><i class="fa fa-sign-in"></i> Sign in</button>
<button type="button" name="form[save]">\<i class="fa fa-sign-in"></i> Sign in</button>
是否可以防止对HTML实体进行编码
更新:
从现在起,我找到的最干净的解决方案是使用raw
过滤器,同时覆盖按钮行
块模板。这是最好的方法吗?如果使用{{form_row(regForm.save)}
渲染按钮,则直接在视图中渲染按钮更简单,如下所示:
$form = $this->createFormBuilder($user)
// other fields...
->add('save', 'submit', array('label' => '<i class="fa fa-sign-in"></i> Sign in'))
->getForm();
{{form_row(regForm.save)}}
<button type="submit" class="btn green"><i class="fa fa-sign-in"></i> Sign in {{ 'form.global.button.sign_in'|trans({}, 'form') }}</button>
Sign-in{{form.global.button.Sign{u-in'{124; trans({},'form')}
否则,您可以创建一个按钮和/或图标小枝扩展(就像MopaBootstrapBundle中所做的那样),以在表单组件中实现它(并在任何地方重用它) 很明显,答案是“使用div上的链接并将其伪装为按钮”,但是如果您想使用按钮,您仍然可以通过向该按钮添加fa sign-in样式或使用:before-selector以相同的类为目标。否则,我建议坚持使用HTML实体它是一个表单-我不能使用链接或div。无论如何,按钮
被设计为包含HTML(与输入相反)。我也无法设置按钮的样式,因为fa会更改字体,因此登录时的字体可能会错误。您可以通过JS将操作附加到表单中的链接,这是每天都要完成的。您还可以使用输入类型=submit。我同意你所说的关于按钮和包含HTML的能力的说法,但是你陷入了困境,因此如果你不想使用HTML实体,那么评论备选方案如果你想使用你的系统,原始过滤器是唯一的解决方案,但不是最好的方法。我使用的是moopa方式。我已经检查了MopaBootstrapBundle
源代码。因此,可能的解决方案是Mopa的方式和问题更新中描述的我的方式。我知道我会保持原样,但谢谢你的回答,这很有用。