Image Symfony2+;CreateFormBuilder如何在窗体中渲染图像

Image Symfony2+;CreateFormBuilder如何在窗体中渲染图像,image,forms,templates,symfony,Image,Forms,Templates,Symfony,我是Symfony2和CreateFormBuilder来创建我的表单 目前我正在使用{{form_widget(form)}}来显示表单。 我的实体具有path属性,该属性是文件系统上保存的图像的路径。 我想在表单中显示图像(带有html标记),如何实现这个结果?我应该在模板中逐个字段处理表单吗?或者是否有一种方法可以在模板中只拥有一个字段,并使用{{form_widget(form)}}呈现其他字段?您可以做的是逐个字段处理表单字段,如果设置了值,则显示图像 假设您有一个字段名image。在

我是Symfony2和CreateFormBuilder来创建我的表单

目前我正在使用
{{form_widget(form)}}
来显示表单。 我的实体具有
path
属性,该属性是文件系统上保存的图像的路径。
我想在表单中显示图像(带有
html标记),如何实现这个结果?我应该在模板中逐个字段处理表单吗?或者是否有一种方法可以在模板中只拥有一个字段,并使用
{{form_widget(form)}}
呈现其他字段?

您可以做的是逐个字段处理表单字段,如果设置了值,则显示图像

假设您有一个字段名
image
。在Twig中,您可以通过
form.vars.value.image
访问它的值。然后,很容易显示img标签:

{% if form.vars.value.image is not null %}
    <img src="{{ asset('upload/dir/' ~ form.vars.value.image) }}" />
{% endif %}
另一种方法是使用自己的模板创建自己的类型:

编辑:我忘了一个有趣的选择。您可以自定义单个字段:。以下是您可以做的事情的草稿:

{% form_theme form _self %}

{% block _object_image_row %}
    <div class="name_row">
        {{ form_label(form) }}
        {{ form_errors(form) }}
        {{ form_widget(form) }}

        {% if form.vars.value.image is not null %}
            <img src="{{ asset('upload/dir/' ~ form.vars.value.image) }}" />
        {% endif %}
    </div>
{% endblock %}
{%form\u主题表单\u self%}
{%block\u object\u image\u row%}
{{form_标签(form)}
{{form_errors(form)}}
{{form_widget(form)}
{%如果form.vars.value.image不是null%}
{%endif%}
{%endblock%}

替代解决方案:这些来源仍然有效还是Symfony 4?
{% form_theme form _self %}

{% block _object_image_row %}
    <div class="name_row">
        {{ form_label(form) }}
        {{ form_errors(form) }}
        {{ form_widget(form) }}

        {% if form.vars.value.image is not null %}
            <img src="{{ asset('upload/dir/' ~ form.vars.value.image) }}" />
        {% endif %}
    </div>
{% endblock %}