Latte samostatně – neexistuje proměnná $iterator
- RadaR
- Člen | 46
Stáhl jsem si NetteFramework-2.0.12-PHP5.3 a zkouším zprovoznit Latte samostatně podle návodu zde: https://latte.nette.org/cs/#…
Vyplodil jsem něco takového:
<?php
require_once ('../../Nette/loader.php');
use Nette\Templating\FileTemplate;
$template = new FileTemplate('templates/templatedb.latte'); // soubor se šablonou
//$template->setFile('template.latte'); // název souboru lze určit i později
$template->setCacheStorage(new Nette\Caching\Storages\PhpFileStorage('cache/'));
$template->registerHelperLoader('Nette\Templating\Helpers::loader');
$template->onPrepareFilters[] = function($template) {
$template->registerFilter(new Nette\Latte\Engine);
};
$template->render(); // vykreslí šablonu
?>
Při pokusu použít cyklus for https://latte.nette.org/cs/tags#…
mi to však hlásí chybu:
Notice: Undefined variable: iterator in…
Fatal error: Call to a member function isFirst() on a non-object in …
Šablona vypadá takto:
{for $i = 0; $i < 10; $i++}
{first}<table>{/first}
{first 5}<tr>{/first} {* nový řádek po 5 záznamech *}
<td>{$i->value}</td>
{last 5}</tr>{/last}
{last}</table>{/last}
{/for}
Z chyb. hlášení jsem selským rozumem pochopil, že nebyla asi načtena knihovna „Iterator“, ale tady už jsem v koncích a nevím, co je třeba ještě načítat nebo inicializovat. Poradí někdo?
- Jan Tvrdík
- Nette guru | 2595
$iterator je k dispozici jen uvnitř {foreach}
, for cyklus
žádný iterátor nepoužívá.