Latte výpsání html jako html zadané v šabloně

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

Ahoj, jde nějak napsat v latte např.:

<script> console.log(123); </script>

aby se tento kód nepřeložil ale vypsal na výstupu? jako

<script> console.log(123); </script>

Editoval Jonnyb (20. 4. 2012 19:24)

ViPEr*CZ*
Člen | 817
+
0
-

Když si to pošlete přes proměnnou z presenteru například, pak se Vám to vypíše jako text a nebude se to interpretovat.

pidiclovek
Člen | 91
+
+1
-

Nerozumím dotazu, tento kód se v žádném případě nebude nijak interpretovat, není v něm co interpretovat. Na výstupu bude přesně takový, jaký tam vlezl :) a pro vypisování html uložené v proměnné, což je možná to co hledáš, použij neescapovaný výpis proměnné. Např:
v presenteru:

public function renderDefault() {
       $this->template->foo = "<script> console.log(123); </script>";
    }

v šabloně:

{!$foo}

! znamená neescapovaný výstup. Více případně o makrech tady

Jan Endel
Člen | 1016
+
0
-

Pokud to chceš vypsat přímo v šabloně, můžeš taky použít makro {syntax}

Jonnyb
Člen | 31
+
0
-

ViPErCZ napsal(a):

Když si to pošlete přes proměnnou z presenteru například, pak se Vám to vypíše jako text a nebude se to interpretovat.

prohánět to skrz presentr mi nepříjde jako dobré řešení. „Pokud jde o statickou stránku“

Editoval Jonnyb (22. 4. 2012 17:24)

Jonnyb
Člen | 31
+
0
-

jinak by to vyřešilo makro s funkci htmlspecialchars();