Formuláře – odeslání → vrácení hodnoty
- Webster.K
- Člen | 212
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
<?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
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)