在 Symfony 4.4 中覆盖单个表单字段的标签以包含 HTML

问题描述

我在 Symfony 4.4 应用程序中覆盖表单中的标签时遇到问题:

{{ form_row(form.legal,{
   'label' : 'personal.form.fields.legal'|trans
}) }}

personal.form.fields.legal 看起来像这样:

I agree that I am 18 and above,I have read and accept the <a href="/terms-cond">T&Cs</a>

我的表单定义:

 ->add('legal',CheckboxType::class,'required' => true,'mapped' => false,])

我试图覆盖这个标签是这样的:

{% block _crmbundle_personal_legal_label %}
    <label{% with { attr: label_attr } %}{{ block('attributes') }}{% endwith %} style="color: red;">
        {{ form_widget(form) }}
        {{ label|unescape|raw }}
    </label>
{%- endblock %}

我有一个 Twig 扩展可以做到这一点:

    public function getFilters(): array
    {
        return [
            new TwigFilter('unescape',function ($value) {
                return html_entity_decode($value);
            }),];
    }

我发现这与标签重复,我找不到更正此问题的方法。我有一个复选框,但有两个标签(均以红色显示)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...