![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 87 Pomógł: 0 Dołączył: 27.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Na początku zaznaczam, że będę stosował konwencję controller/model w celu uzyskania spójności wątku.
Problem wygląda następująco. Jestem w index/index - user submituje formularz, który przenosi go do index/process jednocześnie wysyłając dane metodą POST. Teraz w index/process odbywa się validacja (Zend_Form + Zend_Validate). W wypadku udanej walidacji nie ma problemu, wyświetlam komunikat (za pomocą zmiennej widoku 'message'): "Dane zostały zapisane". Natomiast w wypadku niepowodzenia chciałbym przekierować na index/index - jednocześnie przekazując parametry post oraz zawartość zmiennej widoku 'message'. Co prawda, mógłbym to zrobić 'na pałę' - podpinając ten sam formularz pod index/process i po prostu wyświetlając go w widoku dla tej akcji, co jednak wydaje się lekko 'nie po Bożemu'. I tu właśnie rodzi się moje pytanie: Jak płynnie przesyłać zmienne między akcjami jednego kontrolera ? Moim celem jest ładna obługa formularzy, czyli formularz z index/index submituje na index/process, natomiast w wypadku nie przejścia walidacji wracamy do index/index i wyświetlamy komunikat + formularz do poprawy. Index/process odpowiada tylko za przetworzenie danych oraz wyświetlenie komunikatu powodzenia. Może da się to zrobić bez przekierowań i ręcznego przesyłu zmiennych, może wystarczy pomajstrować przy Zend_Form + Zend_Validate? Bardzo proszę o sugestie. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 313 Pomógł: 24 Dołączył: 9.08.2008 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Dzięki, @dr_bonzo. Powiedzcie jeszcze jak ustawić, aby akcja process korzystała domyślnie z index.phtml, a nie z process.phtml http://framework.zend.com/manual/en/zend.c...rs.viewrenderer choć uważam że trochę źle to robisz (IMG:style_emoticons/default/winksmiley.jpg) moja przykładowa akcja dodawania jakiegoś rekordu
Ten post edytował pgrzelka 28.09.2009, 01:09:31 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 21:27 |