Escaping Smarty Parsing

En algunas ocaciones es deseable o hasta necesario que Smarty tenga que ingonar sections o algun otro tipo analisis de sintaxis. Un ejemplo clasico es con el codigo JavaScript o CSS incrustado en el template. El problema se origina cuando aquellos lenguajes que utilizan los caracteres { y } los cuales son también los delimitadores por default para Smarty.

Esta puede ser una simple situación separando enteramente su codigo JavaScript y CSS dentro de un archivo personal y utilizar el metodo standar del HTML para el acceso.

Es posible usar literal incluyendo el contenido del bloque {literal} .. {/literal}. Similar a usar entidades HTML, usted puede usar {ldelim},{rdelim} o {$smarty.ldelim} para mostrar los delimitadores actuales.

Esto a menudo es conveniente para cambios simples a Smarty's $left_delimiter y $right_delimiter.

Ejemplo 3-7. Ejemplo cambiando delimitadores

<?php

$smarty 
= new Smarty;
$smarty->left_delimiter '<!--{';
$smarty->right_delimiter '}-->';
$smarty->assign('foo''bar');
$smarty->display('example.tpl');

?>

Donde example.tpl es:

<script language="javascript">
var foo = <!--{$foo}-->;
function dosomething() {
    alert("foo is " + foo);
}
dosomething();
</script>

Ver También escape modifier