Dědičnost includovaných šablon

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

Ahoj, mám následující šablony:

  • layout.phtml
  • view.phtml
  • other.phtml

V layout.phtml mám {include #foo}. Ve view.phtml mám {include other.phtml} a nyní bych chtěl, abych v other.phtml mohl definovat blok #foo, který by se includnul do layout.phtml. Jak na to, prosím?

Čekal jsem, že to půjde standardně, ale nešlo to, ten #foo blok to v other.phtml prostě vypsalo. Našel jsem makro {extends}, které jak jsem pochopil má na starost dědění, ale nejsem si jistý, co mám dědit. Zkusil jsem podědit view.phtml i layout.phtml a ani jedno mi nefungovalo. Respektive šablonu other.phtml mám v úplně jiné složce, takže jsem v other.phtml měl něco jako {extends ../../templates/presenter/view.phtml}. Ještě pro jistotu znova ořezané soubory:

layout.phtml:

<!DOCTYPE html>
<html>
<head>
	<title>{block #foo}výchozí obsah{/block}</title>
</head>

<body>
	{include #content}
</body>
</html>

view.phtml:

{block content}
{include $userTemplate}

other.phtml:

{block #foo}title{/block}