gpt4 book ai didi

image - Symfony2 + CreateFormBuilder 如何在表单中渲染图像

转载 作者:行者123 更新时间:2023-12-04 23:59:36 26 4
gpt4 key购买 nike

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

目前我正在使用 {{ form_widget(form) }}来显示表格。
我的实体有 path属性是保存在文件系统上的图像的路径。
我想在表单中显示图像(带有 <img> 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 %}

在这里, upload/dir/是您存储图像的路径。如果你有这个路径的常量,你可以在 Twig 中使用它:
{{ asset(constant('Acme\\DemoBundle\\Model\\Object::UPLOAD_DIR') ~ '/' ~ form.vars.value.image) }}

另一种方法是使用自己的模板创建自己的类型:
  • http://symfony.com/doc/current/book/forms.html#form-theming
  • http://symfony.com/doc/current/cookbook/form/form_customization.html

  • 编辑:我忘记了一个有趣的选择。您可以自定义单个字段: http://symfony.com/doc/current/cookbook/form/form_customization.html#how-to-customize-an-individual-field .这是您可以执行的操作的草稿:
    {% 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 %}

    关于image - Symfony2 + CreateFormBuilder 如何在表单中渲染图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12057823/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com