Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/04/2009, 11:38
Avatar de SUSMO
SUSMO
 
Fecha de Ingreso: abril-2008
Ubicación: Barcelona
Mensajes: 188
Antigüedad: 16 años, 11 meses
Puntos: 0
Valor de variables en tpl con smarty

Hola a todos,

Estoy trabajando con Smarty y tengo problemas para leer variables de un template a otro. Me explico. Tengo una plantilla .html y dentro de esta hago dos includes de dos archivos diferentes .tpl
En el primer archivo tpl creo variables que necesito que se puedan leer des del segundo archivo tpl pero no se hacerlo.

Pongo el código para que se entienda mejor.

Código del template
Código PHP:
{include file="modules/users/codeAjaxIni.tpl"}

<!
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" >
<
head>
{
base}
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

{
$hola} {* Aquí ya no tiene valor *}
{include 
file="modules/users/codeAjaxJs.tpl" ajax=$ajax }

</
head>

<
body>
.... 
Código de codeAjaxIni.tpl
Código PHP:
{php}
       
$this->assign("hola","hola");
{/
php
Código de codeAjaxJs.tpl
Código PHP:
{php}

echo 
"-->>> ".$this->_tpl_vars['hola'];

{/
php}
{
$hola
El código que he puesto es mucho más sencillo de lo que es en realidad pero ni aún así me funciona.
Tengo que ponerlo en dos tpl diferentes pq el primero me ha de crear en php un ojbeto ajax antes de cargarse el documento para que no de errores y el segundo contendrá las funciones javascripts y el código para ejecutar las funciones de ajax creado en el primer tpl.

Resumiendo, en el caso que os he puesto, creo la variable $hola para smarty pero ya en la plantilla no la reconoce y en el segundo tpl mucho menos y no se como hacerlo. He provado de poner el código directamente en la plantilla sin estar en tpls aparte y si me funciona pero claro, queda muyyy feo y prefiero separarlo. ¿Como puedo leer o simplemente pasar el valor de la variable de un tpl a otro?

Espero haberme explicado bien jeje
Gracias de antemano
__________________
Perdida en el mundo del conocimiento