Invalidace komponenty s více rendery
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Jan Endel
- Člen | 1016
Zdravím, narazil jsem na takový zajímavý problém. Mejměž komponentu Foo, daná komponenta má dva různé rendery:
class FooControl extends \Nette\Application\UI\Control
{
public function renderSmall()
{
//zobrazeni male komponenty
}
public function renderLarge()
{
//zobrazeni velke komponenty
}
}
a ted přichází ten problém, když koponentu v AJAXovém požadavku invaliduju
$this->invalidateControl('Foo');
tak mi celá operace skončí 500, s tím, že render neexistuje, protože je natvrdo zadrátován do kódu pro invalidaci komponenty. Dá se toto nějak elegantně řešit nebo u AJAXových komponent se spokojit jen s jedním renderem?