Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Symfony中自定义表单标签_Symfony - Fatal编程技术网

在Symfony中自定义表单标签

在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

我有一个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_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,很抱歉我的回复太晚了。谢谢你的回答,但事实上,如果我这样做,它可能会工作,但我将不得不设置我的表单的所有字段