Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SF2][Symfony][Symfony2]Manipulacja polami formularza w zależności od akcji
daniel1302
post
Post #1





Grupa: Zarejestrowani
Postów: 602
Pomógł: 30
Dołączył: 1.08.2007
Skąd: Nowy Sącz

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


Witam, zacząłem uczyć się Symfony 2. Mam taki problem:
Mam formularz generowany przez klasę UserType:

W Klasie UserType posiadam generowane 3 kontrolki:
  1. $builder
  2. ->add('name', 'text', array(
  3. 'label' => 'Imię'
  4. ))
  5. ->add('mail', 'text', array(
  6. 'label' => 'Adres email'
  7. ))
  8. ->add('password', 'text', array(
  9. 'label' => 'Hasło'
  10. ));



I teraz wszystko ok, formularz przy akcji tworzenia użytkownika generuję sobię tak:

  1. $form = $this->createForm(new UserType(), $entity, array(
  2. 'action' => $this->generateUrl('user_create'),
  3. 'method' => 'POST',
  4. ));
  5.  
  6. $form->add('submit', 'submit', array('label' => 'Create'));
  7.  
  8. return $form;




I wszystko jest ok.
A tutaj mam problem bo chciałbym zrobić edycję użytkownika i nie pozwolić użytkownikowi edytować raz wpisanego imienia. Puki co tak generuję formularz:
  1. $form = $this->createForm(new UserType(), $entity, array(
  2. 'action' => $this->generateUrl('user_update', array('id' => $entity->getUserId())),
  3. 'method' => 'PUT',
  4. ));
  5.  
  6. $form->add('submit', 'submit', array('label' => 'Edytuj użytkownika'));
  7.  
  8. return $form;


Czy prościej utworzyć nowy formularz pod tą samą Encję Doctrina, czy jest jakiś inny sposób? Mam czas i uczę się frameworka więc zależy mi na tym, aby rozwiązanie było eleganckie, ponieważ chcę sie go dobrze nauczyć.


Pozdrawiam.

Ten post edytował daniel1302 18.03.2015, 15:34:05
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Forti
post
Post #2





Grupa: Zarejestrowani
Postów: 655
Pomógł: 73
Dołączył: 2.05.2014

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


Tak też można. Symfony daje spore pole do popisu formularzami gdy tylko zrozumiemy je. Ja na poczatku strasznie ich nie lubiłem i narzekałem lecz w gruncie rzeczy są bardzo użyteczne.
Go to the top of the page
+Quote Post
ohm
post
Post #3





Grupa: Zarejestrowani
Postów: 623
Pomógł: 144
Dołączył: 22.12.2010

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


Cytat(Forti @ 19.03.2015, 08:53:07 ) *
Ja na poczatku strasznie ich nie lubiłem i narzekałem lecz w gruncie rzeczy są bardzo użyteczne.

Offtop:
Fakt, jak zacząłem używać formularzy na dobre, to przy powrocie do dłubania ręcznego w pewnym projekcie, to niemalże jak dłubanie literek w tablicach kamiennych (IMG:style_emoticons/default/wink.gif)

Cytat
Mam podstawowy formularz tylko w klasie Type a pole name dodaje w kontrolerze w zależności od tego czy chcę czy nie.

Też tak możesz, ale wg mnie Controller powinien przyjmować i przekazywać dane dalej, raczej bez ingerencji w te dane (czasem trzeba, wiadomo) a form builder powinien zarządzać formularzem i podejmować decyzje co i gdzie ma być.

Ten post edytował ohm 19.03.2015, 11:56:32
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 15.10.2025 - 05:31