Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SF][Symfony2][SF2]Sklepowy koszyk i iteracje w formularzu
Forum PHP.pl > Forum > PHP > Frameworki
BigPig
Hej,

Ogarniam dla nauki fw stronkę, która między innymi posiada koszyk sklepowy. Całość wygląda tak:




W sesji zapisuję co zostało dodane do koszyka. Sposób płatności i dostawy są pobierany z bazy, czyli są encjami. Posiadam także encję 'Items'. Problem jest tego rodzaju, że za cholerę nie wiem jak w jednym formularzu zwielokrotnić występowanie encji Items(w końcu może być wiele przedmiotów w koszyku), żeby potem móc je za pomocą for'a ładnie wyświetlić.

Kod:
  1. $fetched_items = $doctrine->getRepository('BlogMainBundle:Items')->findBy(array('id' => array(3,4,5))); //pobrane przedmioty
  2.  
  3. $test_form = $this->createFormBuilder($item)
  4. ->add('item', 'collection', array()) // jakos to trzeba uzupelnic, a nie wiem jak
  5. ->add('delivery_method', 'entity', array(
  6. 'class' => 'BlogMainBundle:DeliveryMethod',
  7. 'property' => 'full_info',
  8. 'expanded' => true,
  9. 'label' => false
  10. 'data_class' => 'Blog/MainBundle/Entity/DeliveryMethod'
  11. ))
  12. ->add('payment_method', 'entity', array(
  13. 'class' => 'BlogMainBundle:PaymentMethod',
  14. 'property' => 'full_info',
  15. 'expanded' => true,
  16. 'label' => false
  17. ))
  18. ->getForm();
  19.  


To jest pierwszy, najbardziej cywilizowany sposób. Problem polega na tym, że nie wiem jak to dokończyć, żeby było ok.

2) Drugi gorszy sposób to dać klasyczny, nieobiektowy formularz i za pomocą for'a go wypełnić. W momencie kiedy kliknie się submit to obsłużyć go w klasyczny sposób. Problem w tym, że po kliknięciu submita wyskakuje mi takie coś:
  1. Symfony\Component\HttpFoundation\ParameterBag Object ( [parameters:protected] => Array ( [name] => [email] => [dawaj] => Prześlij ) )


3) Ewentualnie ogarnąć wszystko za pomocą ajax'a i jquery.

Póki co przymierzam się do 1 sposobu, moim zdaniem najpoprawniejszego. Ktoś wie jak można to ładnie wykończyć?
amii
Jeśli chodzi o sposób 1 to: http://symfony.com/doc/current/cookbook/fo...ollections.html
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.