Расширение EntityType, чтобы разрешить дополнительные варианты выбора, установленные с помощью вызовов AJAX.Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Расширение EntityType, чтобы разрешить дополнительные варианты выбора, установленные с помощью вызовов AJAX.

Сообщение Anonymous »

Я пытаюсь создать пользовательский тип Symfony, расширяющий основной тип «entity».

Но я хочу использовать его с Select2 версии 4.0.0 (ajax теперь работает с html-элементом «select», а не со скрытым «вводом», как раньше).
  • Этот тип должен создавать пустой выбор вместо полного списка объектов расширенного типа «объект».
Это работает, установив параметр (см. configureOption):

'choices'=>array()

  • При редактировании объекта, прикрепленного к форме, он должен заполнить выделение текущими данными объекта. Я решил эту проблему, но только для представления с помощью следующего метода buildView...
Select2 распознает содержимое html «select» , и работает с ajax.
Но когда форма отправляется обратно, Symfony не распознает выбранные варианты (потому что они не разрешены?)

Symfony\Component\Form\Exception\TransformationFailedException

Unable to reverse value for property path "user": The choice "28" does not exist or is not unique


Я попробовал несколько методов с использованием EventListeners или Subscribers, но не могу найти рабочую конфигурацию.

С Select2 3.5.* Я решил проблему с событиями формы и переопределением скрытого типа формы, но здесь расширение типа сущности гораздо сложнее.

Как мне создать свой тип, чтобы это можно было сделать управлять обратным преобразованием моих объектов?

Пользовательский тип:



Подробнее здесь: https://stackoverflow.com/questions/301 ... ajax-calls
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»