Escaping Smarty Parsing
  It is sometimes desirable or even necessary to have Smarty ignore sections it
  would otherwise parse. A classic example is embedding Javascript or CSS code in
  a template. The problem arises as those languages use the { and } characters
  which are also the default
  delimiters for Smarty.
 
  The simplest thing is to avoid the situation altogether by separating your Javascript
  and CSS code into their own files and then using standard HTML methods to access them.
 
  Including literal content is possible using {literal} .. {/literal} blocks.
  Similar to HTML entity usage, you can use {ldelim},{rdelim} or {$smarty.ldelim}
  to display the current delimiters.
 
  It is often convenient to simply change Smarty's $left_delimiter and
  $right_delimiter.
 
| Example 3-7. changing delimiters example | 
<?php
 $smarty = new Smarty;
 $smarty->left_delimiter = '<!--{';
 $smarty->right_delimiter = '}-->';
 $smarty->assign('foo', 'bar');
 $smarty->display('example.tpl');
 
 ?>
 | 
 
   Where example.tpl is:
   | <script language="javascript">
  var foo = <!--{$foo}-->;
  function dosomething() {
    alert("foo is " + foo);
  }
  dosomething();
</script> | 
 | 
  See also escape modifier