Detekce kontextu (text, tag, js) ve vlastním filteru

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

Mám vlastní filtr. Rád bych aby se choval různě v různých kontextech. Jinak když je v textu, jinak uvnitř HTML parametru, jinak v javascriptu… Analogicky jak se defaultně escapuje proměněná.

Jak na to?

Filtr:

$template->addFilter('priklad', function ($string) {
    return $string;
});

Latte:

{"<b>Foo</b>"|priklad}

Výsledek se vypíše tučně. Rád bych aby se vypsalo <b>Foo</b>.

Dělám někde chybu?

Editoval adamjosefus (21. 7. 2015 1:36)

David Matějka
Moderator | 6445
+
+1
-

Latte escapuje dle contextu (skoro) vzdy. to, ze pouzijes filtr by nemelo hrat roli. Pokud to nefunguje spravne, posli konkretni priklad

adamjosefus
Člen | 6
+
0
-

Dělal jsem chybu. String musím volat takto:

{="string"|foo}

Omlouvám se za diletanci. Moc díky za bleskovou odpověď.

Editoval adamjosefus (21. 7. 2015 1:37)