在Symfony中自定义表单标签
我有一个symfony页面,其中显示一个表单,我想添加一个 *在所有必填字段的标签中 我有一个form.php.twig,看起来像这样:在Symfony中自定义表单标签,symfony,Symfony,我有一个symfony页面,其中显示一个表单,我想添加一个 *在所有必填字段的标签中 我有一个form.php.twig,看起来像这样: {% extends "::layout.php.twig" %} {% block body %} <div class="row"> {% use 'form_div_layout.html.twig' with form_label as base_form_label %} {% block form_labe
{% extends "::layout.php.twig" %}
{% block body %}
<div class="row">
{% use 'form_div_layout.html.twig' with form_label as base_form_label %}
{% block form_label %}
{{ block('base_form_label') }}
{% if required %}
<span class="required" title="This field is required">*</span>
{% endif %}
{% endblock %}
</div>
{% endblock %}
{%extends”::layout.php.twig“%}
{%block body%}
{%使用“form_div_layout.html.twig”,并将form_标签作为基本\u form_标签%}
{%block form_label%}
{{block('base_form_label')}
{%如果需要%}
*
{%endif%}
{%endblock%}
{%endblock%}
我遵循了symfony食谱中关于如何定制标签的确切文档,这是一个很好的例子
但我总是犯这个错误
第206行的form_div_layout.html.twig中不存在变量“label”
我的form.php.twig的代码中没有任何标签变量,因此我不明白为什么会出现此错误。当我移除
{{block('base_form_label')}
我明白了
ATPlatformBundle:会话:create.php.twig中不存在变量“required”
有人能帮我吗?我不知道我的错在哪里?我不是想用css来定制它,而是想添加*
我已经检查了第206行的表单_div_layout.html.twig,这就是它
{%- block form_label -%}
{% if label is not sameas(false) -%}
{% if not compound -%}
{% set label_attr = label_attr|merge({'for': id}) %}
{%- endif %}
{% if required -%}
{% set label_attr = label_attr|merge({'class': (label_attr.class|default('') ~ ' required')|trim}) %}
{%- endif %}
{% if label is empty -%}
{%- if label_format is not empty -%}
{% set label = label_format|replace({
'%name%': name,
'%id%': id,
}) %}
{%- else -%}
{% set label = name|humanize %}
{%- endif -%}
{%- endif -%}
<label{% for attrname, attrvalue in label_attr %} {{ attrname }}="{{ attrvalue }}"{% endfor %}>{{ translation_domain is sameas(false) ? label : label|trans({}, translation_domain) }}</label>
{%- endif -%}
{%- endblock form_label -%}
{%-block form_label-%}
{%如果标签不相同(错误)-%}
{%如果不是复合-%}
{%set label_attr=label_attr|merge({'for':id})%}
{%-endif%}
{%如果需要-%}
{%set label_attr=label_attr | merge({'class':(label_attr.class | default(“”)~'required')| trim})%}
{%-endif%}
{%如果标签为空-%}
{%-如果标签_格式不是空-%}
{%set label=label|U格式|替换({
“%name%”:名称,
“%id%”:id,
}) %}
{%-else-%}
{%set label=name |人性化%}
{%-endif-%}
{%-endif-%}
{translation_domain是sameas(false)?label:label|trans({},translation_domain)}
{%-endif-%}
{%-endblock form_label-%}
提前感谢。使用
细枝
,您应该在使用变量之前测试变量的存在性:
变量“required”不存在
{% if required is defined and ... }
您需要对此进行测试,因为您的字段并不总是必需的
如果您想了解更多信息,请参阅本页文档:
使用
细枝
,您应该在使用变量之前测试变量的存在性:
变量“required”不存在
{% if required is defined and ... }
您需要对此进行测试,因为您的字段并不总是必需的
如果您想了解更多信息,请参阅本页文档:
使用
细枝
,您应该在使用变量之前测试变量的存在性:
变量“required”不存在
{% if required is defined and ... }
您需要对此进行测试,因为您的字段并不总是必需的
如果您想了解更多信息,请参阅本页文档:
使用
细枝
,您应该在使用变量之前测试变量的存在性:
变量“required”不存在
{% if required is defined and ... }
您需要对此进行测试,因为您的字段并不总是必需的
如果您想了解更多信息,请参阅本页文档:
是否尝试从表单生成器内部定义标签?!下面的字段是必填字段,因为除非您提到required=>false,否则您的字段将按需要呈现。 比如:
->add('name', 'text', array('label' => '* name'))
您是否尝试从表单生成器内部定义标签?!下面的字段是必填字段,因为除非您提到required=>false,否则您的字段将按需要呈现。 比如:
->add('name', 'text', array('label' => '* name'))
您是否尝试从表单生成器内部定义标签?!下面的字段是必填字段,因为除非您提到required=>false,否则您的字段将按需要呈现。 比如:
->add('name', 'text', array('label' => '* name'))
您是否尝试从表单生成器内部定义标签?!下面的字段是必填字段,因为除非您提到required=>false,否则您的字段将按需要呈现。 比如:
->add('name', 'text', array('label' => '* name'))
最后,我没有在form.php.twig(我用来显示表单的模板)中更改标签,但我使用了另一种技术 我创建了一个名为fields.php.twig的新文件,并将其放入MyBundle/Resources/views/Form中 在fields.php.twig的开头,我添加了
{% extends 'form_div_layout.html.twig' %}
在它下面,我补充道
{% block form_label %}
{{ parent() }}
{% if required %}
<span> * </span>
{% endif %}
{% endblock form_label %}
它工作得很好,但我必须创建字段.php.twig。好的,所以最后,我没有在form.php.twig(我用来显示表单的模板)中更改标签,而是使用了另一种技术 我创建了一个名为fields.php.twig的新文件,并将其放入MyBundle/Resources/views/Form中 在fields.php.twig的开头,我添加了
{% extends 'form_div_layout.html.twig' %}
在它下面,我补充道
{% block form_label %}
{{ parent() }}
{% if required %}
<span> * </span>
{% endif %}
{% endblock form_label %}
它工作得很好,但我必须创建字段.php.twig。好的,所以最后,我没有在form.php.twig(我用来显示表单的模板)中更改标签,而是使用了另一种技术 我创建了一个名为fields.php.twig的新文件,并将其放入MyBundle/Resources/views/Form中 在fields.php.twig的开头,我添加了
{% extends 'form_div_layout.html.twig' %}
在它下面,我补充道
{% block form_label %}
{{ parent() }}
{% if required %}
<span> * </span>
{% endif %}
{% endblock form_label %}
它工作得很好,但我必须创建字段.php.twig。好的,所以最后,我没有在form.php.twig(我用来显示表单的模板)中更改标签,而是使用了另一种技术 我创建了一个名为fields.php.twig的新文件,并将其放入MyBundle/Resources/views/Form中 在fields.php.twig的开头,我添加了
{% extends 'form_div_layout.html.twig' %}
在它下面,我补充道
{% block form_label %}
{{ parent() }}
{% if required %}
<span> * </span>
{% endif %}
{% endblock form_label %}
它工作得很好,但我必须创建fields.php.twig。嗨,Abdelaziz,很抱歉我的回复太晚了。谢谢你的回答,但事实上,如果我这样做,它可能会工作,但我将不得不设置我的表单的所有字段