CurlyBrackates Template

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

Momentálně přepisuji jednu starší aplikaci na NETTE framework a narazil jsem na drobný nedostatek NETTE šablon. Ve SMARTY existuje něco jako „První prvek z pole“ a „Poslední prvek z pole“, které se dají použít, když pole nemá číslované klíče a to mi v NETTE šablonách chybí.

Jod
Člen | 701
+
0
-

Prečo si nenapíšeš helper, zabere tak 5 riadkov kódu.
Niečo takéto:

$this->template->registerHelper('last', 'getLast');

function getLast($arr)
{
	end($arr);
	return current($arr);
}

Editoval Jod (12. 5. 2009 10:50)

2bfree
Člen | 248
+
0
-

Protože
a)nejsem sto vymyslet kvalitní algoritmus pro tyto funkce
b)to neumim
c)přijde mi to jako slušná featura šablonovacího systému, kterou by to mělo mít nativně a ne přes helper

2bfree
Člen | 248
+
0
-

Tak podle tohoto návodu už bych to zvládl. Díky za tip.Ale i tak převládá můj názor, že by to mělo být nativně.

Jod napsal(a):

Prečo si nenapíšeš helper, zabere tak 5 riadkov kódu.
Niečo takéto:

$this->template->registerHelper('last', 'getLast');

function getLast($arr)
{
	end($arr);
	return current($arr);
}
Jod
Člen | 701
+
0
-

No nebolo by to naškodu :) .
Na prvú hodnotu potom použi reset($arr) (možno netreba) a return current.

arron
Člen | 464
+
0
-

Ono zalezi na pouziti, ale v cyklech se da pouzit $iterator->isFirst() a $iterator->isLast() :-)