Пользовательский атрибут темы формы Symfony в строке - PullRequest
0 голосов
/ 18 октября 2019

Хорошо, у меня есть тема формы для настраиваемой кнопки-переключателя. В теме формы я отображаю метку как изображение. Изображение в основном является вызовом маршрута (который возвращает BinaryResponse):

<img src="{{ path('the_route_name', {'slideImage': value}) }}" class="slideImage">

Теперь это работает, однако для выбора фона слайд-шоу необходимо использовать тот же тип формы. Рендеринг тот же, но вызов маршрута и параметры разные.

Слайд-изображение: showSlideImage с параметром slideImage Фон слайд-шоу: showBackgroundImage с параметром slideshowBackground

Какова была моя идея, это отправитьнастраиваемый атрибут данных в форме для имени маршрута (я могу сделать оба параметра одним и тем же именем, чтобы избежать этой проблемы).

Я попробовал следующее в своем шаблоне ветки, где отображается форма:

{{ form_row(form.background, {'attr': {'data-path': 'path'}}) }}

(фоном является EntityType с множественным значением false и расширенным значением true)

Однако, когда я помещаю дамп в тему формы

{{ dump(attr) }}

Он показывает пустой массив. Я пытался изменить attr на row_attr, но это ничего не изменило. Как я могу отправить пользовательский атрибут данных в тему формы для его рендеринга?

1 Ответ

0 голосов
/ 18 октября 2019

Похоже, мне пришлось использовать choice_attr:

'choice_attr' => function($choice, $key, $value) {
    return ['path' => 'showSlideImage'];
},

Я пытался использовать choice_attr раньше, но я не использовал функцию обратного вызова, и поэтому я сделал это неправильно. И тогда я могу просто использовать attr.path, чтобы получить правильное значение.

...