Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony][Symfony2]Wstrzykiwanie danych do formularza w obsludze zdarzenie POST_SUBMIT
Forum PHP.pl > Forum > PHP > Frameworki
gaua69
Hej,

Czy istnieje mozliwosc wstrzykniecia danych do formularza w obsludze tego zdarzenia? Chodzi mi o cos takiego:

  1. public function onPostSubmit(FormEvent $e)
  2. {
  3. $x = array(1, 2, 3, 4);
  4.  
  5. $form = $e->getForm();
  6. $data = $form->getData();
  7.  
  8. //tutaj dodaje $x do $data
  9.  
  10. $form->setData($data);
  11. }


Problem polaga na tym ze $x nie jest powiazane z encja ktora kryje sie pod $data, wiec nie mam tam setera gdzie moglbym ustawic te dane. Myslalem nad dodaniem nowego pola do forma i usawieniem opcji 'data' => $x ale dostaje blad ze nie zmienie forma gdy jest juz zbindowany(co jest dosyc logiczne). Zrobienie tego w obsludze zdarzenia PRE_SUBMIT tez odpada, bo $x tworze na podstawie danych wprowadzonych do forma. Jak to rozwiazac po ludzku? smile.gif
pedro84
A co właściwie chcesz osiągnąć, bo odnoszę wrażenie, że coś kombinujesz. Nie możesz dodać sobie niemapowanego pola do formularza?
gaua69
No wlasnie dokladnie tak robie, mam 3 wbudowane formy(takie same) ktorych nie mapuje. Tyle, ze w kontrolerze musze robic cos takiego:

  1. $data = array(
  2. $form->get('pole1'),
  3. // pole2 i pole3
  4. );
  5.  
  6. foreach($data as $d) {
  7. //tworzenie obiektu i persistowanie
  8. }


Chcialem odciazyc kontroler od tego i przeniesc to do listenera ktory przygotowal by gotowe obiekty i dodal je do forma.

Ogolnie chodzi o to, ze uzytkownik przy rejestracji ma mozliwosc wyslania 3 zaproszen(imie, nazwisko, email), wiec dodalem te 3 formy w jednym kroku rejestracji, podczas submitu formularza rejestracji dodaje to do tabeli Zaproszenia, a pozniej przy aktywacji/potwierdzeniu konta uzytkownika, wysylam te zaproszenia na podane maile. Moze jest lepszy sposob na to?
pedro84
Ale co za problem napisać sobie do tego serwis, czyli obiekt, który będzie Ci te zaproszenia wysyłał?
gaua69
Mam serwis do wysylania maili. Chodzilo mi o lepszy sposob pobierania tych danych z forma niz to co teraz robie w kontrolerze wink.gif. Bo jakos tak nie jestem zadowolony z tego.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.