【问题标题】:Symfony2 & Twig - theming file upload widgetSymfony2 & Twig - 主题文件上传小部件
【发布时间】:2012-11-13 14:32:28
【问题描述】:

我有一个实体的 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 来说还是很新的......

【问题讨论】:

    标签: symfony twig


    【解决方案1】:

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

    {% 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 %}”很重要

    【讨论】:

    • 我已经看到spaceless 也在默认模板中使用。但我仍然不知道为什么它很重要。需要详细说明吗?
    • @Taylan 即将从结果输出中删除空格。这应该没什么大不了的,但是我看到了奇怪的行为,甚至在不使用它时甚至无法正常工作。这就是 twig 所说的 twig.sensiolabs.org/doc/tags/spaceless.html 但同样,即使只是删除空格,我也会有奇怪的行为。
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多