Предположим, у нас есть тип формы Symfony и поле добавления строки
$builder->add('name', 'text', ['attr' => ['class' => 'firstName', placeholder => 'first name']]);
Я хочу, чтобы это было объединено с атрибутами, установленными в шаблоне веточки:
{{ form_row(form.name, {'attr':{'class':'newClass'}}) }}
В настоящее время заменяет. Как лучше всего ее решить?






Вы можете использовать переменные формы для получения атрибута класса формы, а затем объединить атрибут другого класса:
{{ form_row(form.name, {'attr':{'class':'newClass ' ~ form.name.vars.attr.class|default('')}}) }}
Обновлено:
Исправил мой предыдущий ответ после прочтения https://symfony.com/doc/current/reference/forms/twig_reference.html#reference-form-twig-variables
@Aurelien, это зависит от того, как класс attr определен в formtype: если это "firstName newClass", merge не избежит дублирования
Можно все еще использовать функцию разделения веток, чтобы обойти это: twig.symfony.com/doc/2.x/filters/split.html
Более чистый способ слияния, чтобы избежать возможного дублирования: twig.symfony.com/doc/2.x/filters/merge.html