samostatné použití šablon
- kaaia
- Člen | 4
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.
- Filip Procházka
- Moderator | 4668
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();
- Filip Procházka
- Moderator | 4668
A přitom úplně stačilo si tu kapitolu přečíst a ne jen bezmyšlenkovitě kopírovat kód ;)
- kaaia
- Člen | 4
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.