Я пытаюсь переопределить тему формы Symfony.Это работает, это хорошая новость!Но я бы хотел изменить положение метки внутри.
Мой конструктор форм:
$builder->add('phone', IntegerType::class, [
'label' => 'Telefonnummer',
'constraints' => [
new NotBlank(),
],
'attr' => [
'class' => 'input-field__input',
],
'label_attr' => [
'class' => 'input-field__label',
]
]);
Мой переопределенный integer_widget:
{% block integer_widget %}
<div class="input-field">
{% set type = type|default('number') %}
{{ block('form_widget_simple') }}
</div>
{% endblock %}
Что я ожидал (сокращенный пример):
<div class="input-field">
<label>Telefonnummer</label>
<input/>
</div>
Что я получил:
<label>Telefonnummer</label>
<div class="input-field">
<input/>
</div>
Метка стоит перед div и не находится внутри.Но мне это нужно внутри!
То, что я пробовал (работает, но, на мой взгляд, это беспорядок):
{% block integer_widget %}
<div class="input-field">
{% block form_label %}
{% endblock %}
<label class="{{ label_attr.class }}">{{ label }}</label>
{% set type = type|default('number') %}
{{ block('form_widget_simple') }}
</div>
{% endblock %}
Таким образом, все выглядит так, как я и ожидал.Но это просто обходной путь, потому что я удалил метку происхождения, добавив пустой блок 'form_label'.
Есть ли лучшее решение для этого в рамках правил Symfony / Twig?