【问题标题】:Symfony 2 theming a textarea widgetSymfony 2 主题化一个 textarea 小部件
【发布时间】:2011-10-26 11:39:45
【问题描述】:

我在为 textarea 设置主题时遇到了一些问题。

我创建了一个包含以下主题的单独主题文件:

{% block text_widget %}
    <div class="text_widget">
        {% set type = type|default('text') %}
        {{ block('field_widget') }}
    </div>
{% endblock %}

{% block textarea_widget %}
    <div class="textarea_widget">
        {#{% set type = type|default('text') %}#}
        {{ block('textarea_widget') }}
    </div>
{% endblock %}

第一个块主题(text_widget)有效,但第二个导致页面根本无法加载。如果我将块线更改为

,它会起作用
        {{ block('field_widget') }}

但随后 twig 会呈现一个普通的文本字段。根据https://github.com/symfony/symfony/tree/master/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form,我应该可以使用textarea_widget。

有什么想法吗?

【问题讨论】:

    标签: symfony twig theming


    【解决方案1】:
    {% block textarea_widget %}
    {% spaceless %}
        <div class="textarea_widget">
            <textarea {{ block('widget_attributes') }}>{{ value }}</textarea>
        </div>
    {% endspaceless %}
    {% endblock textarea_widget %}
    

    没有?

    【讨论】:

      【解决方案2】:

      递归警报! 你在调用他自己里面的方块! Twig 没有检测到递归吗?如果没有,您可能会创建一个功能请求以获取错误消息...

      【讨论】:

      • 你说得对,我刚刚看到了。你知道我可以如何修复它,以便 textarea 正确设置主题吗?
      【解决方案3】:

      这是一种方法:

      {% block textarea_widget %}
          <div class="textarea_widget">
              <textarea>{{ value }}</textarea>
          </div>
      {% endblock %}
      

      但是,这不会呈现小部件的属性(类名等),但我可以接受。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-01-05
        • 2021-12-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多