Проблема с рендерингом нового поля темы

После установки нового Symfony2.6 вместе с интегрированной формой темы Bootstrao. У меня сейчас есть проблема при рендеринге полей Money.

А картина это, наверное, проще, чем пытаться ее описать.

Проблема с денежным полем

Код, используемый для визуализации поля with-in 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 поля работали отлично.

Я проверил, что расширение Intl включено в php.ini и в config.yml У меня есть эти настройки:

//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)}}

0

Решение

Я нашел причину. Что-то среднее между версией Bootstrap для Symfony вступало в конфликт с BrainCrafted / BootstrapBundle.

Я знаю, что добавление темы Bootstrap в Symfony2.6, вероятно, предназначено для того, чтобы свести на нет необходимость внешних пакетов для использования 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>
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]