Hola, gracias por la respuesta... lo que dices es lo que hago actualmente y funciona bien, pero a lo que me refiero es a una duplicidad de declaraciones que estoy teniendo y no sé si se puede evitar... te pongo un ejemplo.
Supongamos que en $token tengo un arreglo con todos los tokens para las diferentes acciones... estos tokens se generarían de manera dinámica, pero para este ejemplo los pondré fijos.
En php:
Código:
$tokens = array(
array('action'=>'viewFile', 'token' => 'gsdf67ghfdsgf7'),
array('action'=>'editFile', 'token' => '7sdjueghfdsoke')
);
$smarty->assign(array(
'tokens' => $tokens, // para usar en en el archivo .tpl
'tokens_js' => json_encode($tokens) // para usar en el archivo .js
));
En el archivo .tpl:
Código:
<head>
<title>{$ttitle}</title>
<script type="text/javascript">
var tokens = {$tokens_js};
</script>
<script type="text/javascript" src="js/tools.js"></script>
</head>
A lo que me refiero es a que tuve que declarar dos veces la misma variable, para usarla en smarty y para usarla en javascript.
Lo que yo hubiera esperado es que yo pudiera usar dentro del .js importado las etiquetas de smarty {$tokens[0]['action']}, igual que hago en el .tpl.
No sé si me esté dando a entender...