Kontaktní formulář – získání hodnot z config.neon

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Montes
Člen | 5
+
0
-

Zdravím,
prošel jsem si tutoriál QuickStart a celkem mně Nette framework zaujal. Tak jsem zkusil ještě screencast Kontaktní formulář. Aplikace funguje, ale mám problém se získáním hodnot ze souboru config.neon. Ve screencastu jsou indexy to a subject uloženy v souboru config.ini, já je přesunul do config.neon. Procházel jsem fórum a našel jen, že lze pro získání hodnot použít:

$this->context->parameters['mail']['to'];

To mě ale nefunguje… :-( Laděnka hlásí: Undefined index: mail. Díky za radu.

config.neon

common:
	parameters:

	php:
		date.timezone: Europe/Prague
		# zlib.output_compression: yes

	nette:
		application:
			errorPresenter: Error

		database:
			dsn: 'mysql:host=localhost;dbname=test'
			user: root
			password:

		mail:
			to: 'marek@localhost.cz'
			subject: 'Kontakt formulář z APP'

		session:
			expiration: 14 days


	services:
		authenticator: Authenticator
		routerFactory: RouterFactory
		router: @routerFactory::createRouter


	factories:


production < common:

development < common:

HomepagePresenter.php

<?php

use Nette\Mail\Message;

/**
 * Homepage presenter.
 */
class HomepagePresenter extends BasePresenter {

    public function renderDefault() {
        $this->template->anyVariable = 'any value';
    }

    protected function createComponentContactForm($name) {

        $form = new ContactForm($this, $name);

        $form['ok']->onClick[] = callback($this, 'contactFormOkClicked');

        return $form;
    }

    public function contactFormOkClicked(\Nette\Forms\Controls\SubmitButton $button) {

        $values = $button->getForm()->getValues();

        $this->sendContactEmail($values);
    }

    protected function sendContactEmail($values) {

        $mail = new Message;

        $mail->setFrom($values['email']);

		//$mail->addTo($this->context->parameters['mail']['to']);
        $mail->addTo('marek@localhost.cz');
        $mail->setSubject('Kontakt formulář z APP');

        $mail->setBody($values['message']);

        $template = $this->createTemplate();
        $template->setFile(APP_DIR . '/templates/emails/contact.latte');
        $template->title = 'Kontakt formular z APP';
        $template->values = $values;

        $mail->setHtmlBody($template);

        $mail->send();

        $this->flashMessage('Zpráva byla úspěšně odeslána!');

        $this->redirect('this');
    }

}
Nox
Člen | 378
+
0
-

V configu přesuň mail do parameters

Montes
Člen | 5
+
0
-

Jak jednoduché, su to ale trúba… :-) Díky moc!

Nox
Člen | 378
+
0
-

Není zač