Symfony2&Twig - 主题文件上传小部件

Sac*_*cks 7 symfony twig

我有一个实体的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 %}
Run Code Online (Sandbox Code Playgroud)

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

我的问题是我怎样才能掌握文件的路径?有没有办法从字段的表单值中选择它?我是否可以通过它作为该领域的选项?

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

Ric*_*rez 5

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

{% block file_widget %}
    {% spaceless %}
     //Your custom content here
    {% endspaceless %}
{% endblock file_widget %}
Run Code Online (Sandbox Code Playgroud)

例如:

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

请记住,"{%spaceless%}"非常重要


Sac*_*cks 0

所以看来我不擅长用谷歌搜索 Symfony 的东西。我最终找到了 Symfony 食谱的这一部分:http://symfony.com/doc/master/cookbook/form/form_customization.html

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

  • 我猜他们已经删除了那里的例子。我在 http://symfony.com/doc/current/cookbook/form/create_form_type_extension.html 中找到了它 (2认同)