Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [symfony] obsluga embedForm, doctrine - bo oszaleje!
Forum PHP.pl > Forum > PHP > Frameworki
Magician
Witam,

nie wiem jak to zmusic do dzialania - symfony 1.4 RC2

schema yml:
  1. Oferta:
  2. actAs:
  3. Timestampable:
  4. columns:
  5. nazwa:
  6. type: string
  7.  
  8. OfertaTyp1:
  9. columns:
  10. oferta_id:
  11. type: integer
  12. par1:
  13. type: integer
  14. par2:
  15. type: integer
  16. relations:
  17. Oferta:
  18. foreignAlias: OfertaTypy1
  19. foreignType: many
  20. type: one
  21. local: oferta_id
  22. foreign: id


Konfiguracja formularza:
  1. public function configure()
  2. {
  3. unset($this['created_at'], $this['updated_at']);
  4. $o = new OfertaTyp1Form();
  5. unset($o['oferta_id']);
  6.  
  7. $this->embedForm('oferta1', $odf);
  8. }


Problemy:
1. przy edycji wyswietla się prawidłowo glówny formularz z embed formularzem. Głowny jest "zasilany" danymi, embed NIE (jak sprawić aby wyświetlał powiązany rekord w embed form?)
2. aby w ogóle coś się zapisywało z embed używam
  1. public function saveEmbeddedForms($con = null, $forms = null)
  2. {
  3. if (is_null($con))
  4. {
  5. $con = $this->getConnection();
  6. }
  7.  
  8. if (is_null($forms))
  9. {
  10. $forms = $this->embeddedForms;
  11. }
  12.  
  13. foreach ($forms as $form)
  14. {
  15. if ($form instanceof sfFormDoctrine)
  16. {
  17. // The magic start here
  18. $field_name = $this->getObject()->getTable()->getTableName().'_id';
  19. if($form->getObject()->contains($field_name)) {
  20. $method_name = 'set'.sfInflector::camelize($field_name);
  21. $form->getObject()->$method_name($this->getObject()->getId());
  22. }
  23. // Here it ends
  24. $form->getObject()->save($con);
  25. $form->saveEmbeddedForms($con);
  26. }
  27. else
  28. {
  29. $this->saveEmbeddedForms($con, $form->getEmbeddedForms());
  30. }
  31. }
  32.  
  33. }

Czy tak jest poprawnie? Wydawało mi się że symfony natywnie obsługuje embed form, ale im głębiej w to wchodzę tym mniej wiem.
3. Dozgonna wdzięczność dla osoby, która przedstawi od a do z rozwiązanie, tj. relacja 1:n, budowa formularza i jego obsługa (zasilenie,update)

Pomocy - 2 dzień a efekty mizerne mam....
morgan
Robiłem coś takiego niedawno działa całkiem fajnie, co prawda nie wiem jakie weszly zmiany w formularzach w symfony 1.4 ale moze poniższy link Ci pomoże :] rozumiem ze budujesz aplikacje admina.

http://sandbox-ws.com/frameworks/symfony-f...enerator-part-2

Polecam
Pozdro :]
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.