Nefunkční @layout.latte v zanorených moduloch
- iNviNho
- Člen | 352
Ahojte,
Prekopávali a upratovali sme troška systém a zanárali niektoré moduly do seba a v jednom zo zanorených modulov som narazil na problém, že šablony už nemajú @layout.latte, ako keby sa nevedel nájsť, alebo sa hľadá niekde inde, skrátka vypisuje sa iba šablona…
Skúšal som pre celé AdminModule prostredie nastaviť:
<?php
public function startup() {
parent::startup();
/**
* kod
*/
$this->setLayout("layout"); // vložil som @layout.latte vedľa presentra a skúšal rôzne variácie a nič :-\
$this->setLayout("@layout.latte");
$this->setLayout("layout.latte");
}
?>
Neviete kde je pes zakopaný, resp. prečo v zanorených moduloch už @layout sa nedokáže nájsť?
Ďakujem :)
- Jan Mikeš
- Člen | 771
Já osobně mám pro zanořené moduly vždy vlastní
@layout.latte
a ve většině případech chci, aby dědil layout
rodičovského modulu a musím v něm uvádět
{extends '../../templates/@layout.latte'}
Záleží samozřejmě na adresářové struktuře, já používám:
/app/modules/ApplicationModule/templates/@layout.latte
/app/modules/ApplicationModule/UserModule/templates/@layout.latte
PS: pro nastavení layoutu v presenteru si myslím, že bude platit to samé → lze to jednoduše ověřit pomocí https://api.nette.org/…ter.php.html#…
Editoval Lexi (5. 9. 2016 21:56)
- iNviNho
- Člen | 352
Mam to presne takisto az na to ze pod hlavnym modulom mam este zlozku modules pre vacsiu prehladnost, lebo sa tam este aj ine foldre.
Ano, toto riesenie poznam, ale nepaci sa mi extendovat v kazdej sablone… je to pracne a pre mna zbytocne, kedze kazda sablona v templates bude mat rovnaky @layout :-/ rad by som to niekde natvrdo zadal a finitka
- Jan Mikeš
- Člen | 771
Myslím že nejjednodušší a nejefektivnější cesta jak docílit požadované funkcionality je upravit si chování https://api.nette.org/…ter.php.html#… jak jsem psal výše.