Formuláře – odeslání → vrácení hodnoty

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

Tak jsem opět narazil ve formulářích na problém. Měl jsem formulář, který jsem kompletně vytvářel v presenteru… Měl jsem tam tedy funkci pro vytvoření a funkci co se stane po odeslání. Fungovalo to skvěle. Jak se ale prokousávám nette dál, přesunul jsem ten formulář do app/forms a taky tam funguje skvěle, jen s jednou drobností. V odeslání v presenteru jsem měl

$this->flashmessage('nějaká hodnota');

Nyní ale když mám v presenteru pouze:

protected function createComponentNewCarForm() {

        $form = $this->factory->create();
        $form->onSuccess[] = function ($form) {
            $form->getPresenter()->redirect('Homepage:default');
        };
        return $form;
    }

Jak dokážu na hlavní stránce vypsat opět tu flashmessage? Resp vim jak jí vypsat, ale nevím, jak jí naplnit hodnotou :/ Zkoušel jsem do ty funkce po odeslání dát return s tou hodnotou, ale nepřišel jsem na to, jak to zobrazit, nemá někdo nápad?

JZechy
Člen | 161
+
0
-
<?php
protected function createComponentNewCarForm() {

        $form = $this->factory->create();
        $form->onSuccess[] = function ($form) {
			$form->getPresenter()->flashMessage("nějaká hodnota");
            $form->getPresenter()->redirect('Homepage:default');
        };
        return $form;
    }
?>

Podobně jako voláš přesměrování na presenteru, zavoláš i vytvoření flash message na presenteru.

Webster.K
Člen | 212
+
0
-

To sice ano, ale tu hodnotu potřebuju dostat ze souboru FormFactory.php v app/forms, tam mam prave:

public function formSucceeded(Form $form, $values) {
	return "nejaka hodnota";
}

A právě tu hodnotu co vrací tohle potřebuju dostat do toho presenteru („nějaká hodnota“ je většinou nějaké číslo)

Webster.K
Člen | 212
+
0
-

Aha, dobrý, už jsem pochopil jak :) děkuji :)