samostatné použití šablon

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

Dotaz dvoudenního Nette mimina. Snažím se o samostatné použití šablon. Vycházím z příkladu v dokumentaci. Mým cílem je jeden soubor, ve kterém se vypočte hodnota proměnné a druhý soubor (šablona) která hodnotu této proměnné vypíše. Jinou funkcionalitu z Nette frameworku nyní nechci.

můj skript:

<?php
require 'Nette/loader.php';
use Nette\Framework;
use Nette\Templating\FileTemplate;

$template = new FileTemplate('t.latte');
$template->jmeno = 'John';
$template->render();

a můj t.latte:

{ $jmeno }

Výsledkem je zobrazení { $jmeno } místo hodnoty proměnné. Pokud v šabloně použiji <?php echo htmlspecialchars($jmeno) ?>, tak dostanu očekávaný výsledek, ale myšlenka byla právě v „čisté“ šabloně v Latte.

Vím, že pro toto použití není Nette primárně určen, přesto by mě zajímalo, zda takto použít lze, případně uvítám odkaz na menší „kanón“ na tohoto vrabce. Děkuji.

Ot@s
Backer | 476
+
0
-

Místo { $jmeno } použij {$jmeno} (tj. bez mezer).

kaaia
Člen | 4
+
0
-

Ot@s napsal(a):
Místo { $jmeno } použij {$jmeno} (tj. bez mezer).

Ani po odstranění mezer se hodnota proměnné nezobrazí.

Filip Procházka
Moderator | 4668
+
0
-

To mě nepřekvapuje, protože jsi do šablony nezaregistroval Latte

$template = new FileTemplate('t.latte');
$template->onPrepareFilters[] = function ($template) {
	$template->registerFilter(new Nette\Latte\Engine);
};
$template->jmeno = 'John';
$template->render();
kaaia
Člen | 4
+
0
-

HosipLan napsal(a):
To mě nepřekvapuje, protože jsi do šablony nezaregistroval Latte

Nojo, vždyť píšu dvoudenní mimino. :) Díky moc!

Filip Procházka
Moderator | 4668
+
0
-

A přitom úplně stačilo si tu kapitolu přečíst a ne jen bezmyšlenkovitě kopírovat kód ;)

kaaia
Člen | 4
+
0
-

HosipLan napsal(a):
A přitom úplně stačilo si tu kapitolu přečíst a ne jen bezmyšlenkovitě kopírovat kód ;)

S tím nelze nesouhlasit. :)

Na druhé straně, pokud člověk není zvyklý na koncept OOP a i Nette je pro něj nové (a navíc je si vědom, že jej trochu „ohýbá“), tak se mezi novými pojmy (jmenné prostory, helper, filter, callback, …) snadno ztratí a znervózní. Někde jsem tu zahlédl, že zpětná vazba nováčků je vítaná, tož tak. :)

Děkuju moc za pomoc, můj mikroprojektík již dělá co potřebuji a Latte si opravdu nejde nezamilovat.