[SF2][Symfony][Symfony2]Manipulacja polami formularza w zależności od akcji |
[SF2][Symfony][Symfony2]Manipulacja polami formularza w zależności od akcji |
18.03.2015, 15:33:20
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:
I teraz wszystko ok, formularz przy akcji tworzenia użytkownika generuję sobię tak:
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:
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 |
|
|
18.03.2015, 19:06:01
Post
#2
|
|
Grupa: Zarejestrowani Postów: 621 Pomógł: 144 Dołączył: 22.12.2010 Ostrzeżenie: (0%) |
Stwórz formularz bez imienia ('name') i użyj do tego form events -> http://symfony.com/doc/current/cookbook/fo...dification.html
W PreSetData sprawdzisz czy imienia nie ma (lub czy jeszcze nie było edytowane) i dodasz sobie wtedy do tego formularza oczekiwane pole "name" |
|
|
18.03.2015, 19:56:47
Post
#3
|
|
Grupa: Zarejestrowani Postów: 655 Pomógł: 73 Dołączył: 2.05.2014 Ostrzeżenie: (0%) |
przy rejestracji proś o podanie imienia (required => true) a do edycji po prostu używaj innego *type, bez pola imienia albo zostaw, ale daj disabled => true i po problemie.
-------------------- Overwatch24 - najbardziej zaawansowany Polski portal Overwatch od fanów dla fanów.
Fachowo.co Behance.net/fachowo |
|
|
19.03.2015, 08:04:38
Post
#4
|
|
Grupa: Zarejestrowani Postów: 602 Pomógł: 30 Dołączył: 1.08.2007 Skąd: Nowy Sącz Ostrzeżenie: (0%) |
Prostrze wyjście od obu znalazłem tylko nie wiem czy jest eleganckie. Mam podstawowy formularz tylko w klasie Type a pole name dodaje w kontrolerze w zależności od tego czy chcę czy nie. Encję mam tak ustawioną, żeby puste pola domyślnymi nadpisywła.
Ten post edytował daniel1302 19.03.2015, 08:05:32 |
|
|
19.03.2015, 08:53:07
Post
#5
|
|
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.
-------------------- Overwatch24 - najbardziej zaawansowany Polski portal Overwatch od fanów dla fanów.
Fachowo.co Behance.net/fachowo |
|
|
19.03.2015, 11:54:09
Post
#6
|
|
Grupa: Zarejestrowani Postów: 621 Pomógł: 144 Dołączył: 22.12.2010 Ostrzeżenie: (0%) |
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 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 |
|
|
23.03.2015, 20:12:18
Post
#7
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 26.06.2014 Ostrzeżenie: (0%) |
Trochę offtop a nie chce zakładać nowego tematu. Do sprawdzenia czy użytkownik to administrator czy zwykły user lepiej do tego użyć pliku security.yml czy adnotacji ?
|
|
|
23.03.2015, 21:08:28
Post
#8
|
|
Grupa: Zarejestrowani Postów: 655 Pomógł: 73 Dołączył: 2.05.2014 Ostrzeżenie: (0%) |
$this->isGranted('role_admin') w controller id wersji 2.6.
A języku chodzi o zabezpieczenie pojedynch route/controller to ja preferuje annotacje. -------------------- Overwatch24 - najbardziej zaawansowany Polski portal Overwatch od fanów dla fanów.
Fachowo.co Behance.net/fachowo |
|
|
29.03.2015, 20:17:07
Post
#9
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 26.06.2014 Ostrzeżenie: (0%) |
A mam pytanie. Bo mam formularz i dodałem jedno pole które nie znajduje się w Entity. I jak wysyłam ten formularz to jest możliwość to jedno (osobne dodane pole) nie było brane pod uwagę ? Bo wyświetla mi się, że brakuje metod get i set, a ja z tego pola dane chce do pliku zapisać.. Jak to zrobić ?
|
|
|
29.03.2015, 20:26:30
Post
#10
|
|
Grupa: Zarejestrowani Postów: 655 Pomógł: 73 Dołączył: 2.05.2014 Ostrzeżenie: (0%) |
Jak dodajesz do forma
to zrób tak:
Później w controllerze tylko pobierasz to pole z tablicy $request->request->get('some_name'); i robisz z nim co chcesz W encji nie musi być w żaden sposób zdefiniowane. -------------------- Overwatch24 - najbardziej zaawansowany Polski portal Overwatch od fanów dla fanów.
Fachowo.co Behance.net/fachowo |
|
|
29.03.2015, 20:44:56
Post
#11
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 26.06.2014 Ostrzeżenie: (0%) |
Powiedz mi, jeżeli chodzi o content danej podstrony lepiej go wrzucić do pliku widoku czy raczej trzymać to bazie a razie wywołania wrzucić to do ogólnego pliku i tam formatować?
|
|
|
30.03.2015, 07:26:47
Post
#12
|
|
Grupa: Zarejestrowani Postów: 655 Pomógł: 73 Dołączył: 2.05.2014 Ostrzeżenie: (0%) |
w bazie trzymasz tylko tekst. Pobierasz ów tekst w kontroller / jakaś sobie custom serwis, i wrzucasz do widoku
a w widoku po prostu: I to tyle z podstawowego użycia symfony -------------------- Overwatch24 - najbardziej zaawansowany Polski portal Overwatch od fanów dla fanów.
Fachowo.co Behance.net/fachowo |
|
|
30.03.2015, 11:06:35
Post
#13
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 26.06.2014 Ostrzeżenie: (0%) |
Okej ale skrypt powinnien robić dla każdej podkategorii widok i osobny plik z widokiem? Czy tylko jedne plik i ew. wrzucać do trgo pliku dane?
|
|
|
30.03.2015, 11:33:39
Post
#14
|
|
Grupa: Zarejestrowani Postów: 655 Pomógł: 73 Dołączył: 2.05.2014 Ostrzeżenie: (0%) |
Okej ale skrypt powinnien robić dla każdej podkategorii widok i osobny plik z widokiem? Czy tylko jedne plik i ew. wrzucać do trgo pliku dane? Tak na szybkiego: Jak zmienia się struktura html to osobny widok. Jak nie zmienia to oczywiście ten sam widok, prawda? ;] -------------------- Overwatch24 - najbardziej zaawansowany Polski portal Overwatch od fanów dla fanów.
Fachowo.co Behance.net/fachowo |
|
|
31.03.2015, 19:37:29
Post
#15
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 26.06.2014 Ostrzeżenie: (0%) |
Okej, chce zrobić tak że część danych jest w bazie a cześć danych odczytuje z pliku.. Problem polega na tym, że jak próbuje to zrobić to SF2 krzyczy mi, że nie ma metod get itd. zastanawiam się czy ta droga budowy jest prawidłowa.
Czy nie lepiej by było mimo wszystko trzymać danych w bazie, utworzyć plik z danym szablonem i tam przekazywać wszelki kontent.. Również z drugiej strony nasuwa się problem bezpieczeństwa, czy jeżeli w bazie będą znaczniki HTML będzie to prawidłowe rozwiązanie czy tez nie. |
|
|
Wersja Lo-Fi | Aktualny czas: 10.06.2024 - 12:25 |