![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 43 Pomógł: 0 Dołączył: 2.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
Chcę zrobić formularz z polem typu <select>, korzystyam z EntityType, żeby zaciągnąć dane do elementów <option>, ale chciałbym, aby dwa początkowe elementy były customowe, np. "-- wybierz opcję --" i "-- nowy --". Nie wiem jak to zrobić. Zastanawiam się nad modyfikacją "query_builder" tak żeby dołączyć tam jakiś wirtualny rekord czy coś w tym rodzaju, ale to chyba nie jest najlepsze rozwiązanie. Myślalem też o tym, by zamienić EntityType na ChoiceType, ale wtedy nie widzę możliwości, aby zaciągnąć entity do pozostałych opcji. Rozważałem też, czy da się to dodać w Twigu, ale też jakoś nie widzę takiej opcji. Jedyne, co na razie potrafiłbym zrobić, to dołożenie tego przez jquery, ale to jest dość słaby pomysł.
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 428 Pomógł: 77 Dołączył: 10.07.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
W property choices możesz wstawić już pobrane opcje, więc możesz do nich dostawić customowy typ.
W praktyce nie wiem jak zadziała takowe rozwiązanie, bo nigdy nie testowałem, ale możliwość jest i może nakieruje Cię to na odpowiedź. -------------------- Cytat There is a Bundle for that Lukas Kahwe Smith - October 31th, 2014 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 43 Pomógł: 0 Dołączył: 2.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
OK, poradziłem sobie z tym za pomocą metody finishView(), która pozwala na dodanie własnych opcji. Z tym że tutaj zaczyna się nowy problem, bo co z tego, że mam opcję z value="new", skoro takiej wartości nie ma (to jest EntityType, a więc ma tylko id wzięte z bazy) i formularz nie przechodzi walidacji.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 872 Pomógł: 94 Dołączył: 31.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Bo typ entity nie służy do dodawania własnych opcji. Jak chcesz zrobić dodawanie obiektów bdo bazy, to zrób do tego osobny formularz.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 11.08.2025 - 08:06 |