8

我有一个实体的 Symfony2 编辑表单,其中一个字段用于用户的个人资料图片。

我正在尝试为 Twig 文件上传小部件设置主题,以便该字段的当前图片集显示在文件输入上方。

到目前为止,我有:

{% form_theme edit_form _self %}
{% block field_widget %}
    {% set type = type|default('text') %}

    {% if type == 'file' %}
        <img src="{{ value }}" /> 
    {% endif %}

    {{ block('form_widget_simple') }}
{% endblock %}

一切都很好,除了 value 变量是空白的(我猜这是有道理的)。

我的问题是如何获取文件的路径?有没有办法从字段的表单值中挑选出来?我可以将它作为一个选项传递给该领域吗?

Srz,如果这是一个愚蠢的问题,对 Symfony 和 Twig 来说还是很新的......

4

3 回答 3

5

自定义文件小部件的更好方法是

{% block file_widget %}
    {% spaceless %}
     //Your custom content here
    {% endspaceless %}
{% endblock file_widget %}

例如:

{% block file_widget %}
    {% spaceless %}
     <td>{% set type = type|default('file') %}
         <input type="{{ type }}" {{ block('widget_attributes') }} />
     </td>
    {% endspaceless %}
{% endblock file_widget %}

记住“{% spaceless %}”很重要

于 2013-01-30T23:16:20.673 回答
3

只需以更明显的方式指向解决方案的新网址:

http://symfony.com/doc/current/cookbook/form/create_form_type_extension.html

于 2014-08-19T16:16:46.747 回答
0

所以看起来我在谷歌上搜索 Symfony 的东西很糟糕。我最终找到了 Symfony 食谱的这一部分:http: //symfony.com/doc/master/cookbook/form/form_customization.html

Symfony2 将其称为表单类型扩展,他们实际上使用将图像标签添加到文件小部件作为示例。

于 2012-11-15T07:56:57.933 回答