Template a @layout.phtml samostatne

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

Ahoj,
ako je možné používať @layout.phtml, keď používam Template samostatne?
Ďakujem

despiq
Člen | 320
+
0
-
<?php
$template->setFile('@layout.phtml')
?>

nebo nerozumim otazce

Jan Tvrdík
Nette guru | 2595
+
0
-

Používáš Latte filter?

Santas
Člen | 11
+
0
-

Mám:

$template = new NTemplate;
$template->registerFilter(new NLatteFilter);
$template->setFile(Config::root.'/templates/@layout.phtml');
$template->setFile(Config::root.'/templates/x.phtml');

@layout.phtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sk" lang="sk">
  <head>
		<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
		<title></title>
  </head>
  <body>
		{include #content}
  </body>
</html>

x.phtml

{block content}
tests

A potrebujem, aby sa mi tam zobrazil aj ten layout.

Aurielle
Člen | 1281
+
0
-

Zkus přidat do x.phtml makro {extends}, a tuším ti tam chybí konec blocku.

Panda
Člen | 569
+
0
-

Pokud nepovažuješ za moc praktické psát na začátek každé šablony {extends ...}, tak bych zkusil něco takového (netestováno, ale měl by to být ten trik, který používá Presenter pro nastavení layoutu):

$template = new NTemplate;
$template->registerFilter(new NLatteFilter);
$template->_extends = Config::root.'/templates/@layout.phtml';
$template->setFile(Config::root.'/templates/x.phtml');

// Doplnění: Jo, a ukončení bloku Ti tam nechybí, není povinné. :-)

Editoval Panda (26. 2. 2010 12:16)

Santas
Člen | 11
+
0
-

To extends funguje. Díky moc.