PDA

Zobacz pełną wersję : Wysyłanie formularzy na maila - własny komponent 2.5



idek
04-05-2013, 19:01
Jeszcze jeden problem chciałbym dzisiaj poruszyć.. i będę bardzo wdzięczny za podsunięcie rozwiązania/pomysłu..

Mianowicie, pisze swój komponent (pod j 2.5) no i mam w nim formularz, który wypełnia klient (na frontendzie) pod formularzem jest buton do wysyłania, wszystko napisane w widoku (view). Jak zmusić Joomla! żeby formularz został wysłany na maila?

Znalazłem coś takiego: http://www.quickwebideas.com/index.php/quick-joomla-guide/62-how-to-use-joomla-mailer-to-send-html-enabled-email-smtp-in-joomla-joomla-email-method

jednak nie ogarniam gdzie to trzeba wpisać (model?, kontroler?)
czy trzeba to zapakować w jakąś funkcje?
no i nie wiem też jak przesłać pola mojego formularza do body wiadomości...

kto coś podpowie?

KES
04-05-2013, 21:09
Proponuje się przyjrzeć klasie JMail:
http://docs.joomla.org/JMail/11.1
Instancję JMail pobierasz JFactory.

idek
04-05-2013, 22:24
Dzięki.. oglądałem to ale właśnie jeszcze nie wiem jak tego dobrze użyć.. mogę prosić o jakąś podpowiedź? ;-)

KES
05-05-2013, 10:05
metoda w JFactory to getMailer()
Ładnie jest to wykorzystane w pliku
administrator\components\com_users\models\mail.php
w metodzie send()

idek
05-05-2013, 12:49
bardzo dziękuje :)
nie było mi łatwo, ale jakoś to wydedukowałem, mam nadzieję, że dobrze:)
tzn utworzyłem funkcje rejestracjaUczestnika() w modelu, w widoku utworzyłem formularz z którego dane przesyłam postem do modelu i w modelu pakuję to wszystko w $mail->setBody()
a jeszcze po drodze - i tego pewny nie jestem, ale działa - przechytuję "task" z formularza o nazwie 'wyslij' i uruchamiam takiego if'a w view.html.php:

if ($task == 'wyslij') {
$rejestracjaUczestnika = $model->rejestracjaUczestnika();
$this->assignRef('rejestracjaUczestnika', $rejestracjaUczestnika);
}


działać? działa.. tylko czy jest to zgodne z modelem MVC?

KES
06-05-2013, 09:12
hmm.. mogę się mylić lecz napisze jak ja bym to zrobił (proszę o poprawienie mnie jeżeli nie mam racji):
w kontrolerze utworzył bym metodę która sprawdza token formularza oraz wywołuje model i wysyła wiadomość. Następnie w metodzie kontrolera daje przekierowanie i wiadomość do wyświetlenia użytkownikowi.

idek
07-05-2013, 08:55
dzięki Bati, w takim razie ja podbiję nieco temat, może ktoś trzeci się wypowie jak by to zrobił, to wtedy wyjmiemy średnią ;)