Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SF][Symfony2][SF2]Sklepowy koszyk i iteracje w formularzu
BigPig
post
Post #1





Grupa: Zarejestrowani
Postów: 61
Pomógł: 9
Dołączył: 18.06.2013
Skąd: Białystok

Ostrzeżenie: (0%)
-----


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ć?

Ten post edytował BigPig 23.08.2014, 15:21:24
Go to the top of the page
+Quote Post
amii
post
Post #2





Grupa: Zarejestrowani
Postów: 728
Pomógł: 76
Dołączył: 12.06.2009

Ostrzeżenie: (0%)
-----


Jeśli chodzi o sposób 1 to: http://symfony.com/doc/current/cookbook/fo...ollections.html


--------------------
gry flash online
Dobry hosting i tanie odnowienia domen firma: masternet.
Zarabianie bez wysiłku na domenach bez ruchu: prolink.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 03:30