【问题标题】:twig customizing form_row with form_themetwig 使用 form_theme 自定义 form_row
【发布时间】:2017-12-26 14:57:58
【问题描述】:

我想使用 form_theme 从 form_row 块中删除“div”,如下所示:

{% form_theme feedback_form _self %}

{% block form_row %}
    {{ form_label(form) }}
    {{ form_errors(form) }}
    {{ form_widget(form) }}
{% endblock %}

{{ form_start(feedback_form) }}
    {{ form_row(feedback_form.name) }}
    {{ form_row(feedback_form.email) }}
    {{ form_row(feedback_form.subject) }}
    <button type="submit">Send</button>
{{ form_end(feedback_form) }}

就像文档https://symfony.com/doc/2.8/form/form_customization.html#customizing-the-form-row中所说的那样

问题是twig试图在模板的那个地方渲染{% block form_row %},它在哪里,结果是

变量“form”不存在。

因为我在这个模板中没有变量“表单”。

模板通过页脚中的单独操作呈现,它不扩展任何内容。

【问题讨论】:

    标签: symfony twig


    【解决方案1】:

    好的,我在写问题时找到了解决方案。

    将form_row块的代码放到单独的文件中解决了这个问题。

    {# feedback_form.html.twig #}
    {% form_theme feedback_form 'fields.html.twig' %}
    
    {{ form_start(feedback_form) }}
        {{ form_row(feedback_form.name) }}
        {{ form_row(feedback_form.email) }}
        {{ form_row(feedback_form.subject) }}
        <button type="submit">Send</button>
    {{ form_end(feedback_form) }}
    
    {# fields.html.twig #}
    {% block form_row %}
        {{ form_label(form) }}
        {{ form_errors(form) }}
        {{ form_widget(form) }}
    {% endblock %}
    

    扩展另一个模板也有帮助。

    {# base.html.twig #}
    {% block content %}
    {% endblock %}
    
    {# feedback_form.html.twig #}
    {% extends 'base.html.twig' %}
    {% form_theme feedback_form _self %}
    
    {% block form_row %}
        {{ form_label(form) }}
        {{ form_errors(form) }}
        {{ form_widget(form) }}
    {% endblock %}
    
    {% block content %}
        {{ form_start(feedback_form) }}
            {{ form_row(feedback_form.name) }}
            {{ form_row(feedback_form.email) }}
            {{ form_row(feedback_form.subject) }}
            <button type="submit">Send</button>
        {{ form_end(feedback_form) }}
    {% endblock %}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-14
      • 2012-10-27
      • 2020-11-09
      • 1970-01-01
      • 2014-11-11
      • 2013-05-12
      • 1970-01-01
      • 2018-01-22
      相关资源
      最近更新 更多