![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Hej,
uczę się symfony2 i natknąłem się na taki problem. Mam formularz i w nim kolekcję jako subformularz. Powiedzmy, że formularz główny to driver w a nim kolekcja cars. Chciałbym uzyskać taki efekt, że subformularz cars (który ma 3 pola) wyświetlany był inline (czyli pola obok siebie). Czyli innymi słowy taki efekt: driver_firstname driver_lastname car1.brad | car1.year | car1.power car2.brad | car2.year | car2.power Wszystkie przykłady formularzy kolekcji dotyczą formularzy z 1 polem i nigdzie nie ma przykładu jak renderować pola subformularza z kolekcją. A jeśli ktoś przy okazji korzysta BraindcraftedBootstrapBundle to jeszcze bardziej interesowałoby mnie jak ten efekt uzyskac za pomocą bootrap_collection, zachowując funkcjonujące przyciski javascript add/delete. Ok sam sobie odpowiem - może się komuś przyda W konfiguracji bootstrap_bundle trzeba dodać
Ale niestety brak możliwości jakiegokolwiek dostosowania do własnych potrzb, więc i tak trzeba przerobić sobie widok ręcznie. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 1 Dołączył: 12.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
To rozwiązanie może Ci te elementy ułoży w linii, ale Ty chcesz mieć wpływ na wygląd tego formularze.
Na początek zapoznaj się z tym: http://symfony.com/doc/current/cookbook/fo...tomization.html W dokumencie jest opisane jak dostosować taki form a nawet jak zrobić szablon dla wszystkich formularzy tak aby były w jednym stylu i można by je było wywołać jedną linią czyli:
jeśli używasz Twiga. Możesz także każdy form renderować na jaki sposób tylko chcesz jednak wtedy czeka CIę więcej pisania. Np mając kolekcję formularzy "car" możesz się przejść po ich kolekcji w ten sposób:
poza tym możesz zamiast "form_widget(car) " dać renderowanie każdego elementu tego forma osobno np:
Możliwości renderowania tego masz nieograniczone i w zasadzie robisz z tym co chcesz. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Dzisiaj w temat się trochę wgryzłem, bo miałem taki utrudniony przypadek subformularza, który musiałem rozszerzyć o pole typu atocomplete i kilka innych funkcjonalności javascript/ajax. Ogólnie o ile samo zrenderowanie subformularza nie było większym kłopotem (zrobiłem to dokładnie za pomocą tych widgetów, które podałeś), o tyle już problem pojawił sie przy prototypie formularza wykorzystywanym w dodawaniu nowych obiektów do kolekcji dynamicznie za pomocą javascriptu - okazało się, że jednak łatwo to obejść i wyeksportowac wszystko do osobnego widoku i prototyp wtedy też można renderować. Coraz bardziej podoba mi się to symfony ;-)
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 1 Dołączył: 12.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Symfony fajny framework. Wcześniej korzystałem z Zenda 1, ale potem kiedy wyszedł Zend 2 to bardzo się zniechęciłem do Niego i przesiadłem się na Symfony 2, nie żałuję.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 23.06.2025 - 07:25 |