Symfony: добавить виджеты на лету для отношений 1-n / nn? - PullRequest
1 голос
/ 15 ноября 2010

Как разрешить пользователю добавлять виджет на форму?

Допустим, пользователь может добавить 1 или более сайтов. Как позволить ему нажать кнопку «+», чтобы добавить новый виджет для добавления второго сайта?

Спасибо

1 Ответ

1 голос
/ 15 ноября 2010

Я сделал это, переопределив bind () в классе формы и добавив элементы к специальному защищенному свойству объекта формы. Вы также можете добавить их во встроенную форму специально для обработки этого динамического числа входов. Присвойте встроенной форме публичный метод, такой как addWebsite () .

После добавления их по вашему выбору в bind () удалите их из переданного массива $ taintedValues ​​, чтобы CSRF проверил.

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

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

...