Jak na taby s použitím „vnořených“ šablon?

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

Chvíli jsem se snažil rozchodit TabControl, ale vzdal jsem to, takže si chci udělat vlastní taby.

Taby řeším tak, že po kliknutí na odkaz se vyvolá handle, ve kterém se vytvoří šablona a ta se následně nahraje do snippetu s vlastním obsahem tabu AJAXově. Problém nastane, když v handle použiju invalidaci snippetu pokud je v šabloně tabu snippet. Nette vrací chybu „Argument 1 passed to SnippetHelper::create() must be an instance of Control, null given…“.

Takhle nějak vypadá kód jednoho tabu, v jehož šabloně mám zatím jenom kus textu:

<?php
public function handleRenderReviews(){
	$template = new Template(APP_DIR . '/templates/app/reviews.phtml');
	$template->registerFilter(new LatteFilter());

	$this->template->tabcontent = $template;
	$this->invalidateControl("tabs");
}
?>

Vzhledem k tomu, že v tabech chci také fungovat AJAXově, jsem docela bezradný, co s tím. Nevím, jestli je to nejlepší řešení, ale jiné mě nenapadlo. Leda si udělat pro každý tab zvlášť stránku na bázi jednotlivých action, ale to by zase nastal problém, pokud by uživatel vypl JavaScript.

mohl by mě někdo nakopnout (myšlenkově a klidně i za to řešení :-)) popřípadě navrhnout něco lepšího? Předem díky.