smarty { escapen?

südpol

Erfahrenes Mitglied
Hi,

ich arbeite seit ein paar Wochen an einem Projekt in dem ich Smarty als template engine einsetze. Das ganze funktioniert zwischenzeitlich auch ganz gut. Jetzt muss ich allerdings auch ein bischen Javascipt *pfui* einbinden. Das geht auch ganz gut solange ich es über eine datei include. Schreibe ich das ganze aber in den head erhalte ich von smarty immer Fehlermeldungen! Da smarty die geschweifte Klammer ja selber verwendet würde ich mal vermuten dass ich selbige irgenwie escapen muss oder smarty irgendwie sagen muss, dass jetzt javascript kommt.

Kann mir jemand sagen wie ich das machen kann?

Gruß
 
Hi, danke für die schnelle Antwort!

leider funktoniert es damit auch nicht. auf der Smarty - Seite stand auch was von $left_delimiter bzw. $right_delimiter das habe ich auch getestet aber das geht auch nicht bzw. mit $ geht es schon ohne Fehlermeldung jedoch werden die Klammern nicht gesetzt.

Ich habe jetzt mal als quickfix den beiden Variblen die Werte { und } mit dem php skript übergeben - sauber ist das jedoch nicht :D hat jemand noch eine andere Idee?
 
Original geschrieben von südpol
Kann mir jemand sagen wie ich das machen kann?

Entweder {ldelim} bzw. {rdelim} benutzen, oder aber den entsprechenden JavaScript-Code zwischen {literal} {/literal} setzen, dann sollte es funktionieren!

Wozu gibts ein klasse Smarty-Tutorial?
http://smarty.php.net/manual/de/language.function.ldelim.php
http://smarty.php.net/manual/de/language.function.literal.php :rolleyes:

** edit **
Als dritte Möglichkeit kannst Du natürlich mittles den beiden Smarty-Variablen $left_delimiter bzw. $right_delimiter die Smarty-Trennzeichen ändern. Aber wozu, geht ja auch mit den beiden genannten Möglichkeiten ganz gut ;)
 
Zuletzt bearbeitet:
ich würde einfach {literal} bzw {/literal} um dein JS rumbauen, dann parst Smarty es nicht. Wenn du dennoch eine Assignte Var o.ä. brauchst um den JS stellenweise zu generieren, hebe zwischendrin einfach das literal wieder auf.

ups nicht genau genug gelesen, wurde ja schon gepostet....
 
Original geschrieben von Ben Ben
ich würde einfach {literal} bzw {/literal} um dein JS rumbauen, dann parst Smarty es nicht. Wenn du dennoch eine Assignte Var o.ä. brauchst um den JS stellenweise zu generieren, hebe zwischendrin einfach das literal wieder auf.

ups nicht genau genug gelesen, wurde ja schon gepostet....

passt schon - doppelt hält besser :-)

Dank euch, für die schnellen Antworten!
 
Zurück