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