Vykreslení specifického latte bez @layout za použití jednoho presenteru
- Joacim
- Člen | 229
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
na zacatku sablony muzes vypnout layout pres
{layout false}
pripadne v presenteru pres
$this->setLayout(FALSE)
- Joacim
- Člen | 229
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 ?