Vykreslení specifického latte bez @layout za použití jednoho presenteru

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

Ahoj,

mám aplikaci pro reportování, která v sobě includuje několik latte souborů a všechny jsou vykresleny uvnitř @layout.latte.

@layout.latte
 - report.latte
 	-- menu.latte
 	-- content.latte
 		--- tab1.latte
 		--- tab2.latte
		--- atd.

Potřeboval bych vykreslit jen jednu část latte (content.latte) bez použití předchozích latte souborů (zbavit se přebytečného obsahu jako je menu záložek, menu aplikace). Content v sobě obsahuje formulář a také vše pro přepínání bootstrap záložek a pamatování si formuláře. Mám presenter ReportPresenter, který obsahuje metodu renderContent a ta se stará o formulář, výpis dat atd. Nerad bych duplikoval kod, a nejlépe použil jen nějakou specifickou routu pokud to jde.

Moje url nyní vypadá takto:
/web/jazyk/modul/presenter/zalozka

$router = new RouteList();
// Manufacturing Modul
$router[] = $mfModuleRouter = new RouteList('modul');
$mfModuleRouter[] = new Route('[<locale=es es|en>/]modul/<presenter>/<action>[/<tab>][/<id>]');
$router[] = new Route('[<locale=es es|en>/]<presenter>/<action>/[<id>]', "Modul:Report:zalozka");

return $router;

Bohužel nemohu nalézt jednoduché řešení.

Jediné co mě napadlo, je použití get parametru v URL, podle kterého bych si povypínám v CSS všechny části templatu, které nechci vidět, funkčnost by byla zachována.
Případně si vytvořím ještě jeden presenter, kde bude jen tento jeden template.

Každopádně ani jedno z techto řešení se mi nezamlouvá.

Budu rád za každou radu
Děkuji

David Matějka
Moderator | 6445
+
+2
-

na zacatku sablony muzes vypnout layout pres

{layout false}

pripadne v presenteru pres

$this->setLayout(FALSE)
Joacim
Člen | 229
+
0
-

Díky moc Davide.

Lze na stejný presenter a stejnou metodu nastavit více rout stejně, jako je tomu u Symfony ? Díky routě bych už poznal, že se jedná o template bez layout a jen bych si v presenteru povypínal co potřebuji ? Tzn. lze vytvořit 2 routy pro jeden Presenter a jednu renderMetodu aniž bych musel v url generovat nějaký pomocný parametr a vyfiltroval si jen z názvu routy, že se jedná o template bez layout ?

David Matějka
Moderator | 6445
+
+1
-

budes to asi muset rozlisovat dle parametru

Joacim
Člen | 229
+
0
-

David Matějka napsal(a):

budes to asi muset rozlisovat dle parametru

Dobře, ještě jednou díky