Default sablona pre vsetky presentery
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- buksy
- Člen | 22
Ako nastavim default sablonu pre vsetky presentery? Mam module „App“ v ktorom vsetky presentery budu vystup posielat v JSON formate, preto vlastne nepotrebujem osobitnu sablonu pre kazdy presenter.
Skusal som to takto:
<?php
abstract class AppBasePresenter extends \BasePresenter
{
public function Startup()
{
parent::startup();
$this->template->setFile('../templates/@layout.latte'); // default template
}
}
?>
Lenze nette nevie dany subor najst, existuje nejaka konstanta ktora by ukazovala cestu ku priecinku so sablonami? Alebo ako inak mozem nastavit tu default sablonu :)? Thx
EDIT: nastavil som si absolutnu cestu aby mi nette naslo tu sablonu
$_SERVER['DOCUMENT_ROOT'].'/nette/app/AppModule/templates/@layout.latte
Vyzera to ale dost nepekne, existuje nejaky lepsi sposob?
Editoval buksy (18. 9. 2013 8:25)
- Zdeno1981
- Člen | 115
Myslím, že by mělo jít použít setLayout dle api: https://api.nette.org/…ter.php.html#…
nebo můžeš v každé šabloně @layout.latte použit makro:
{extends 'file.latte'}
místo ošklivé globální proměnné, použij konstantu __DIR__
__DIR__ . '/../../../templates/@layout.latte