Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Symfony] input_tag() - dodatkowe pole
SnakeEater
post
Post #1





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 12.03.2010

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


Witam,
mam kolejny mały problem. Mam obiekt Question. W akcji, a raczej w formularzu new chciałem dodać dodatkowe pole, w które będzie się wpisywało ile opcji opcji losowych odpowiedzi chciałbym dla niego wylosować. Question do odpowiedzi jest powiązany w sposób jeden do wielu. Gdzieś znalazłem, że wystarczy dodać w formularzu input_tag(...). Niestety nie działa:
Kod
Call to undefined function input_tag()
Czy to zostało wycofane w Symfony 1.4? Czy zatem prawidłowy sposób teraz to poprzez dodanie tego do schematów widget i validator? Czy da się to zrobić tak, żeby to nie było pole należące do Question czyli question[number_of_options_to_generate] tylko po prostu number_of_options_to_generate? Wolałbym tak, gdyż tworzenie odpowiedzi chyba pasuje zrobić w akcji, a nie w modelu question. Mam nadzieję, że nie będę musiał tworzyć jeszcze jednego nadrzędnego formularza.

Ten post edytował SnakeEater 6.04.2010, 14:48:41
Go to the top of the page
+Quote Post
destroyerr
post
Post #2





Grupa: Zarejestrowani
Postów: 879
Pomógł: 189
Dołączył: 14.06.2006
Skąd: Bytom

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


Helpery do tworzenia formularzy zostały wycofane. Możesz sobie sam dopisać kawałek html'a wymieszanego z php i mieć to pole, lub widżet i walidator. Walidator (czyli jego tworzenie i walidacja) powinien znaleźć się gdzieś w akcji, to tworzenie widżetu powinno odbyś się w widoku, a wyświetlenie w szablonie.

Nie wiem dokładnie jak ma wyglądać to co chesz zrobić, ale o ile dobrze zrozumiałem, to pole to powinno się znaleźć w formularzu. Formularz nie musi być czystym odzwierciedleniem modelu (obrazem pól w bazie w polach formularza).
Generowanie odpowiedzi to moim zdaniem zadanie właśnie dla modelu, który nie ma być tylko i wyłącznie kontenerem dla danych, powinien je również przetwarzać.
Go to the top of the page
+Quote Post
SnakeEater
post
Post #3





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 12.03.2010

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


Dziękuję sporo mi to rozjaśniło. Jeżeli dodam do formularza QuestionForm te pole poprzez dodanie do schematu widgetów i validatorów, to czy znajdzie się te pole w modelu Question w akcji create? Po analizie kodu doszedłem do wniosku, że tylko z pól tabeli można korzystać w modelu. Czy będzie trzeba ręcznie odczytać question['numer_of_options_to_generate'] w akcji i przekazać do stworzonej metody question->generateOptions()?

Obawy potwierdziły się. Zatrzymałem wykonanie kodu i faktycznie pole nie znajduje się w tablicy _data obiektu question. Czy naprawdę nie ma sposobu, żeby te pole znalazło się w modelu podczas akcji create?

Ten post edytował SnakeEater 6.04.2010, 17:51:48
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 - 08:43