$this->changeView() a „globální“ sablony

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

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.

phx
Člen | 651
+
0
-

v sablone jde pouzit napr {@include form.phtml} nebo tak nejak. Pisu to z hlavy…

OT: STASTNY NOVY ROK:)

Ola
Člen | 385
+
0
-

jo to de, ale to bych musel mít milion souborů pro všechny view..

ot: taky přeju :)

Editoval Ola (1. 1. 2009 14:27)

David Grudl
Nette Core | 8142
+
0
-

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).

Ola
Člen | 385
+
0
-

Ok, díky ;-)

Jod
Člen | 701
+
0
-

Super, aj ja díky :)

Ola
Člen | 385
+
0
-

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 ..

Tomik
Nette Evangelist | 485
+
0
-

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?

David Grudl
Nette Core | 8142
+
0
-

fixed

romansklenar
Člen | 655
+
0
-

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
+
0
-

Tomik napsal(a):
Není to žádané? IMHO pokud chceš templateDir na app/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
+
0
-

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
+
0
-

A proč si prostě v BasePresenteru (pokud ho používáš) nepřepíšeš metody „formatTemplateFiles“ a „formatLayoutTemplateFiles“ přesně tak jak ty potřebuješ?

Jod
Člen | 701
+
0
-

Asi pre to isté prečo si ty neprepisuješ formatLayoutTemplateFiles keď používaš layout :D

krajaac
Člen | 45
+
0
-

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 :)

Jod
Člen | 701
+
0
-

To s tým @module sa mi zdá ako dobrý nápad :)