Nefunční kontaktní formulář
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- marofis
- Člen | 5
Zdravím,
potřeboval bych poradit s jednoduchým kontaktním formulářem. Jak to mám
teď, hlásí mi to chybu Call to undefined method
Nette\Mail\Message::send().
V presenteru mám toto:
<?php
namespace FrontModule;
use Nette,
Nette\Application\UI\Form,
Nette\Mail\Message;
class ContactPresenter extends BasePresenter
{
public function createComponentContactForm()
{
$form = new Form;
$form->addText("email")
->addRule(Form::FILLED, 'Vyplňte váš e-mail')
->addRule(Form::EMAIL, 'E-mail má nesprávný tvar')
->setAttribute("placeholder", "Vaše emailová adresa *");
$form->addTextArea("text")
->addRule(Form::FILLED, 'Vyplňte zprávu')
->setAttribute("placeholder", "Text vaší zprávy *");
$form->addSubmit("submit", "Odeslat");
$form->onSubmit[] = array($this, 'processContactForm');
return $form;
}
public function processContactForm(Form $form)
{
$values = $form->getValues();
$message = new Message;
$message->addTo('muj@email.cz')
->setFrom($values['email'])
->setSubject('Zpráva z kontaktního formuláře')
->setBody($values['text'])
->send();
$this->flashMessage('Zpráva byla odeslána');
$this->redirect('this');
}
}
Předem moc díky
- Oli
- Člen | 1215
Trida message nema metodu send. Predej si do presenteru SendmailMailer nebo jeste lip IMailer. Koukni taky sem: https://doc.nette.org/cs/mail
- marofis
- Člen | 5
Oli napsal(a):
Trida message nema metodu send. Predej si do presenteru SendmailMailer nebo jeste lip IMailer. Koukni taky sem: https://doc.nette.org/cs/mail
To už nic nenapíše, ale email to neodeslalo.