Latte filtry: nechtěná interpretace stringu jako funkce

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

Ahojte,
mám

<script>
	exams_app = {};
	{foreach $JSVars as $index => $value}
		exams_app.{$index|replace('"', '')} = {$value};
	{/foreach}
</script>

Chci tedy vypsat index bez uvozovek pomocí fce replace (bez replace tam jsou uvozovky). Budu tedy mít index s názvem třeba „ahoj“, Nette mi napíše, že
Call to undefined function ahoj()

Já nechci aby se to volalo jako fce, já to chci jen vypsat s aplikovaným filtrem.
Co s tím?

Jan Tvrdík
Nette guru | 2595
+
0
-

Čti dokumentaci, parametry filtrů se zapisují za dvojtečku a to celé lze přepsat jako

<script>var exams_app = {$JSVars};</script>
Aurielle
Člen | 1281
+
0
-

A jinak doplním, že hledáš filtr noescape. Při jeho použití se ale ujisti, že máš plnou kontrolu nad tím, co do dané proměnné jde.