Я пытаюсь найти наилучшую практику в том, как создать эту форму, у меня есть сущность, и я хочу создать форму, в которой будут перечислены все объекты вместе с флажком для каждого, и пользователь может выбрать несколько объектов, используя флажок, и применить действие для всех выбранных объектов, что-то вроде этого:
-Actions --- Remove --- Disable --- Enable # , Title , Desc [] , title1 , This is a desc one [] , Title2 , this is a desc two [] , Title3 , this is a desc three //[] is a checkbox
довольно просто создать эту форму без использования FormBuilder, но поскольку я вижу, что каждая форма в symfony должна быть построена с использованием FormBuilder.
Вопросов
Какова наилучшая практика для создания этой формы? если он использует FormBuilder, есть ли какой-нибудь пример, который я могу увидеть? я не мог найти пример в документации Symfony о том, как делать то, что ищет
если я должен создать свою форму без FormBuilder, как я могу реализовать защиту CSRF?
Конструктор форм идеально подходит для этого. вы можете использовать тип сущности и установить для параметра множественного значения значение true, и у вас будет список объектов, укомплектованных флажками.
http://symfony.com/doc/current/reference/forms/types/entity.html
для разных действий вы можете создавать кнопки, которые ссылаются на функцию контроллера, просто убедитесь, что вы используете javascript, чтобы заставить кнопки превращаться в почтовые запросы и назначить действие как атрибут aa request или что-то еще:
например
<a href="{{ path('path_to_form_controller') }}" class="some_class">Remove</a>
а затем в вашем контроллере вы можете проверить действие
switch ($action) { case 'remove': //do something break; default: }