Invalidace vice snippetu najednou
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- iguana007
- Člen | 970
Ahoj,
chtěl bych se zeptat, jakým způsobem můžu po odeslání formuláře
invalidovat víc snippetů? V submit akci uvnitř komponenty mám po
zpracování formuláře (update dat v DB) následující kód:
$this->presenter->flashMessage('Tip byl editován','ok');
$this->presenter->template->message = "OK";
$this->presenter->invalidateControl('bottomPane');
$this->presenter->forward('Tip:listTips');
$this->presenter->invalidateControl('topPane');
Očekávané chování by mělo být následující:
- uloží se flash message a proměnná message do template + invaliduje se bottomPane snippet
- provede se listTips akce a invaliduje se topPane snippet
Aktuální chování – invaliduje se mi pouze topPane snippet … s tím bottomPane se nic nestane.
Díky za rady
- iguana007
- Člen | 970
Jen pro doplňení, jak jsem to vyřešil. Kdyby to někdo další hledal:
$this->presenter->flashMessage('Tip byl editován','ok');
$this->presenter->invalidateControl('bottomPane');
$this->presenter->actionListTips($values['id']);
Tj. po zpracování submitu pošlu flash message do BottomPane, kterou zároveň ivaliduji a na konci zavolám jinou akci v tomtéž presenteru, která má na konci invalidaci bloku TopPane.