【问题标题】:Issue with new theme field rendering新主题字段渲染问题
【发布时间】:2014-12-19 19:02:11
【问题描述】:

安装新的 Symfony2.6 以及集成的 Bootstrao 表单主题后。我现在在渲染 Money 字段时遇到了问题。

一张图片可能比试图描述它更容易。

用于在 Bootstrap_3_layout.html.twig 中渲染字段的代码如下所示:

//Bootstrap_3_layout.html.twig
{% block money_widget -%}
    <div class="input-group">
        {% set prepend = '{{' == money_pattern[0:2] %}
        {% if not prepend %}
            <span class="input-group-addon">{{ money_pattern|replace({ '{{ widget }}':''}) }}</span>
        {% endif %}
        {{- block('form_widget_simple') -}}
        {% if prepend %}
            <span class="input-group-addon">{{ money_pattern|replace({ '{{ widget }}':''}) }}</span>
        {% endif %}
    </div>
{%- endblock money_widget %}

渲染出来的 Html 是这样的:

<div class="input-group">
   <input type="text" id="cost" name="product[cost]" required="required" class="form-control">
   <span class="input-group-addon">{{ tag_start }}€{{ tag_end }} </span>
</div>

在升级到 2.6 之前,这些字段工作得非常好。

我检查了在 php.ini 和 config.yml 中启用了 Intl 扩展,我有以下设置:

//Config.yml
framework:
    translator:      { fallback: "%locale%" }
    default_locale:  "%locale%"

//Php.ini
[intl]
intl.default_locale = en_utf8

//forms/ProductType.php
->add('cost', 'money', array(
'currency' => 'EUR',
'label' => 'Cost',
))

//views/show.html.twig
{{ form_row(form.cost)}}

【问题讨论】:

  • 尝试在树枝渲染中添加金钱图案?
  • 我拿了你的确切代码并在我的项目中试用了它,它运行良好,唯一的区别是我的跨度在输入之前呈现的输入组 div,因此我相信你预先有点不同。
  • 看不到任何差异的迹象,我稍后会检查“simple_widget”,可能我已经对它做了一些事情。感谢您迄今为止的帮助。
  • 还是找不到原因。刚刚在我的 config.yml 中禁用了引导文件,它又可以正常工作了,所以我想我最好暂时从主题中注释掉金钱小部件。

标签: php twitter-bootstrap symfony twig symfony-2.6


【解决方案1】:

啊,我找到了原因。 Symfony 版本的 Bootstrap 与 BrainCrafted/BootstrapBundle 之间存在冲突。

我知道在 Symfony2.6 中添加 Bootstrap 主题可能是为了消除使用 Bootstrap 对外部包的需求,但 Braincrafted 包的某些部分我仍然想使用。因此,我设法使其正常工作以满足我的需要的方法是删除:

//Braincrafter/BootstrapBundle/Resources/config/services/form.xml
    <service id="braincrafted_bootstrap.form.type.money" class="%braincrafted_bootstrap.form.type.money.class%">
        <tag name="form.type" alias="money" />
    </service>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-08
    • 2013-04-03
    • 2016-01-25
    • 2011-06-03
    • 2020-08-06
    • 2015-03-31
    • 1970-01-01
    相关资源
    最近更新 更多