$this->changeView() a „globální“ sablony
- Ola
- Člen | 385
Zdravím,
byla by docela fajn možnost mít jednu šablonu pro všechny formuláře např. form.phtml v app/templates/ s timhle obsahem:
{$form}
A pak jen v presenteru a jeho view volat
$this->changeView('form');
pro použití týhle šablony, teď
to prohledává jen app/templates/presenter/form.phtml a
app/templates/presenter.form.phtml .. Šlo by to?
Dík.
- David Grudl
- Nette Core | 8218
Ola napsal(a):
A pak jen v presenteru a jeho view volat
$this->changeView('form');
pro použití týhle šablony, teď to prohledává jen app/templates/presenter/form.phtml a app/templates/presenter.form.phtml .. Šlo by to?
Přidám do seznamu ještě app/templates/@global.form.phtml
(form
je název view).
- Tomik
- Nette Evangelist | 485
Ola napsal(a):
Zdravím, myslím, že se při implementaci vyskytl drobný šotek – pokud mám vybraný presenters dir zároveň jako templates dir, pak to hledá šablonu v app/presenters namísto app/presenters/templates ..
Není to žádané? IMHO pokud chceš templateDir
na
app/presenters/templates
, pak jej tak prostě nastav, ne?
- romansklenar
- Člen | 655
Nešlo by Davide i uživatelsky definovat, kde se budou cesty k dohledávání šablon a layoutů dohledávat?
Něco na ten způsob, že by se ty pole s cestami, které se vrací v metodách formatLayoutTemplateFiles a formatTemplateFiles daly do statické proměnné?
Pokud tohodle chci teď docílit musím podědit presenter, tohle by bylo přívětivější.
- Ola
- Člen | 385
Tomik napsal(a):
Není to žádané? IMHO pokud chceštemplateDir
naapp/presenters/templates
, pak jej tak prostě nastav, ne?
Není, protože i v dokumentaci je, že stačí nastavit dir na app/presenters, pak si jej samo dohledává .. a kdybych jej dal na app/presenters/templates tak mi nebudou fungovat šablony třeba v app/presenters/FrontModule/templates ;)
Editoval Ola (23. 1. 2009 18:37)
- krajaac
- Člen | 45
Mohl bych poprosit o menší úpravu dohledávání @global
šablony?
Hodilo by se mi definovat tyto šablony zvlášť pro každý modul (tak jak je
to možné u @layout).
Dohledávání by pak mohlo fungovat takto:
<?php
"$root/$presenter/$view.phtml",
"$root/$presenter.$view.phtml",
"$root/$module/$dir@global.$view.phtml", // pripadne @module.$view.phtml, kdyz se jedna o modulovou sablonu
"$root/$dir@global.$view.phtml",
?>
- Patrik Votoček
- Člen | 2221
A proč si prostě v BasePresenteru (pokud ho používáš) nepřepíšeš metody „formatTemplateFiles“ a „formatLayoutTemplateFiles“ přesně tak jak ty potřebuješ?
- krajaac
- Člen | 45
vrtak-cz napsal(a):
A proč si prostě v BasePresenteru (pokud ho používáš) nepřepíšeš metody „formatTemplateFiles“ a „formatLayoutTemplateFiles“ přesně tak jak ty potřebuješ?
To samozřejmě můžu, ale myslím si, že by se taková funkčnost mohla hodil více lidem. Jinak bych to tu ani nepostoval a nechal si to pro sebe :)