Latte samostatně – neexistuje proměnná $iterator

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

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
+
0
-

$iterator je k dispozici jen uvnitř {foreach}, for cyklus žádný iterátor nepoužívá.

RadaR
Člen | 46
+
0
-

Jan Tvrdík napsal(a):

$iterator je k dispozici jen uvnitř {foreach}, for cyklus žádný iterátor nepoužívá.

Tak teď si připadám hloupě :)

Děkuji za info.