Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [zf] problem z dwoma kontrolerami
mr__y
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 1
Dołączył: 9.10.2003

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


Mam formularz rejestracyjny (widok). Są dwa kontrolery: IndexController i EmailController.

W dużym skrócie, co chcę osiągnąć
1) IndexController odpala widok, który wyświetla formularz
2) Po wysłaniu formularza, IndexController zapisuje dane do bazy (za pomocą jakiegośtam modelu)
3) IndexController wywołuje EmailController (robię to za pomocą _forward() )
4) EmailController pobiera z bazy szablon wiadomości (znowu jakiś model)
5) EmailController wysyła maila (wykorzystałem Zend_Mail)
6) Teraz chcę wyświetlić komunikat, że link z kodem aktywacyjnym został wysłany mailem.

Punkty 1-5 mam zrealizowane. Utknąłem na 6). Nie wiem w jaki sposób i w którym miejscu wyświetlić ten komunikat.
Nie mogę tego zrobić w EmailController, ponieważ będzie on wykorzystany do wysyłania różnych maili, w różnych "modułach" serwisu - a zatem za każdym razem będzie wyświetlał inny komunikat. Najlepiej gdyby z EmailController dało się "wrócić" do miejsca(kontrolera i akcji) z którego zostal odpalony. Coś w tym stylu:

  1. <?php
  2. function signupAction() {
  3.  
  4. //...walidacja formularza, zapisanie danych z formularza do bazy
  5. try {
  6. $this->_forward('send','Email',null,array('tag'=>'studentSignup'));
  7. //za pomocą parametru 'tag' przekazuję, który szablon wiadomości ma być wykorzystany
  8. }
  9. catch(Zend_Exception $e) {
  10. //....obsluga bledow
  11. }
  12. //TUTAJ kod który wywoła odpowiedni widok (wyświetli komunikat).
  13. ?>


Próbowałem drugi raz użyć _forward(). ale wtedy działa tylko ten drugi.

Siedzę nad tym od ponad 3 godzin. Wymęczyłem dokumentacje ZF, googla i wszelkie znane mi źródła. To mój pierwszy "projekt" z wykorzystaniem ZF i zarazem pierwszy kontakt z MVC. Jestem pewien, że robię jakiś głupi błąd.
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: 26.09.2025 - 04:43