Vlastní složítější párové makro

- jasin755
 - Člen | 116
 
Zdravím,
jelikož dokumentace vlastních maker je v Nette nic moc :( tak se potřebují
zeptat…
Vytvářím složitější makro, které by v závěru mělo vypadat +/-
následovně:
{input $entity,'name','description'...}
	<tr><td><input class="nejaka-trida" id="{$entity->name}-nazev" /></td></tr>
{/input}
Tzn. potřebuji aby:
- Vstupem byla jedna pevná proměná a volitelný počet ostatních
 - Abych dokázal pracovat v metodě, která zpracováva makro s tím co je mezi otvíracím a zavíracím tagem
 - Abych měl dostupnou proměnou $entity (nebo jakoukoli jinou co si vymyslím) v makro mezi otvíracím a zavíracím tagem
 
Díky za rady :)

- greeny
 - Člen | 405
 
párová makra umí (pokud vím) nahradit jen obsah mezi { a
} něčím jiným, např. {if $a} za
if($a) {. Na takovýhle věci bude asi lepší použít komponentu

- Zax
 - Člen | 370
 
- by určitě mělo jít, viz makro {control}, které přijímá volitelně parametry
 - by možná mohlo jít ($node->content maybe? Nevím, jen tipuji ;-) )
 - tohle asi ne… Latte je přeci jen v podstatě „převaděč textu na PHP kód“ když to hodně zjednoduším
 

- jasin755
 - Člen | 116
 
$node->content je NULL, resp když si dumpuji všechny property objektu $node, tak jsou NULL nebo FALSE… snad kromě $node->macro.
Jinak snažil jsem se to obejit a udělat to filtrem a opět jsem narazil. Makro {foreach} umi pracovat s helpery? Nebo v čem je problém?
Mám:
{foreach $product->currentProductShop|input:name:alternativeName AS $input}
	Ahoj
{/foreach}
A hodí mi to:
Parse error: syntax error, unexpected ')'
Když se podívám co to přeložilo, tak to z toho vytvořilo tohle:
<?php $iterations = 0; foreach ($product->currentProductShop) { ?>
což je samozřejmě špatně… Ty makra z toho maji vytvořit InputCollection, který implementuje IteratorAgregate