Nastavení @layout.latte ve třídě komponenty
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- mrfazolka
- Člen | 24
Je možné nastavit layout pro renderovanou šablonu přímo ve třídě komponenty a nemuset pak definovat v latte šabloně {extends '@layout.latte'} ?
Jde mi zkrátka o možnost přesunutí logiky nastavení layoutu šablony do metody, která se stará o její vyrenderování. V presenteru to není problém, u komponenty bych chtěl docílit toho samého.
Díky
- David Matějka
- Moderator | 6445
ahoj, melo by jit neco jako
$this->template->getLatte()->addProvider('coreParentFinder', function () {
return 'foo.latte';
});
- mrfazolka
- Člen | 24
DÍKY!!!!!!
od nette 2.4 to vypadá, že je to trošku jinak, každopádně po rychlém pogooglení mi funguje:
$this->template->getLatte()->addProvider('coreParentFinder', function ($template) {
if (!$template->getReferenceType()) { // is not referenced, i.e. not included, is not layout itself, …
return '@layout.latte';
}