Symfony / a2lix_translations / настроить
Кто-нибудь может мне помочь. Как я могу изменить шаблон по умолчанию для версии начальной загрузки? Потому что входные данные не имеют класса "управление формой".
Вот дефолт:
{% block a2lix_translations_widget %}
{{ form_errors(form) }}
<div class="a2lix_translations tabbable">
<ul class="a2lix_translationsLocales nav nav-tabs">
{% for translationsFields in form %}
{% set locale = translationsFields.vars.name %}
<li {% if app.request.locale == locale %}class="active"{% endif %}>
<a href="#" data-toggle="tab" data-target=".{{ translationsFields.vars.id }}_a2lix_translationsFields-{{ locale }}">
{{ locale|capitalize }}
{% if form.vars.default_locale == locale %}[Default]{% endif %}
{% if translationsFields.vars.required %}*{% endif %}
</a>
</li>
{% endfor %}
</ul>
<div class="a2lix_translationsFields tab-content">
{% for translationsFields in form %}
{% set locale = translationsFields.vars.name %}
<div class="{{ translationsFields.vars.id }}_a2lix_translationsFields-{{ locale }} tab-pane {% if app.request.locale == locale %}active{% endif %} {% if not form.vars.valid %}sonata-ba-field-error{% endif %}">
{{ form_errors(translationsFields) }}
{{ form_widget(translationsFields) }}
</div>
{% endfor %}
</div>
</div>
{% endblock %}
{% block a2lix_translationsForms_widget %}
{{ block('a2lix_translations_widget') }}
{% endblock %}
Я понятия не имею, что я должен вставить / удалить / изменить:(Спасибо
2 ответа
Я сделал собственный шаблон формы для a2lix_translations с начальной загрузкой (полный код слишком длинный и не оптимален для вставки здесь). Но чтобы получить классы, которые мне нужны, как контроль формы в виджетах, я сделал следующее:
{%for field in translationsFields%} {# further break the transliationsfields into individual inputs #}
{%if field.vars.attr is not empty and field.vars.attr['class'] is defined and field.vars.attr['class']=="tinymce"%}
{{form_widget(field ,{'attr':{'class':' tinymcertl'}} )}}
{%else%}
{{form_widget(field,{'attr':{'style':'direction:rtl','class':class~' form-control'}} )}}
{%endif%}
{%endfor%}
Уродливый код, приведенный выше, в основном говорит, что, если у виджета уже есть класс, добавьте в него группу форм. Если у виджета вообще нет класса, установите класс в группу форм. Я сделал это, если заявление, чтобы избежать нулевых указателей, так как, если я попытаюсь сослаться на класс формы, а его нет, код потерпит крах. И если я просто установлю class для form-group, он сотрет предыдущие классы.
Надеюсь, это поможет. Мой полный код может оказаться бесполезным для вас, потому что языки, с которыми я работал, включали языки слева направо и языки справа налево, поэтому пришлось выполнить множество условий, чтобы ориентировать мою страницу в правильном направлении, что является грязным, и вы может не понадобиться...
PS: это было сделано на Symfony 2.7 или около того. Не тестировал на Symfony 3.
В моем случае sf 3.2 я только что сделал это изменение в моем config.yml, и все формы загружаются:
# app/config/config.yml
twig:
//....
form_themes:
- 'bootstrap_3_layout.html.twig'