Foros del Web » Programando para Internet » PHP »

Saber el template de smarty en php

Estas en el tema de Saber el template de smarty en php en el foro de PHP en Foros del Web. Hola a todos, Estoy utilizando smarty y necesito saber que template se está visualizando en ese momento. En la página oficial de smarty he visto ...
  #1 (permalink)  
Antiguo 17/12/2008, 04:04
Avatar de SUSMO  
Fecha de Ingreso: abril-2008
Ubicación: Barcelona
Mensajes: 188
Antigüedad: 16 años
Puntos: 0
Saber el template de smarty en php

Hola a todos,

Estoy utilizando smarty y necesito saber que template se está visualizando en ese momento.
En la página oficial de smarty he visto que existe la variable predefinida {$smarty.template} que me dice el template pero yo necesito poder saberlo des de el código php.

¿Alguien puede ayudarme?

Saludos,
__________________
Perdida en el mundo del conocimiento
  #2 (permalink)  
Antiguo 17/12/2008, 06:31
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Saber el template de smarty en php

Es que no puedes saberlo. Al ejecutarse el código PHP aún no se ha compilado nada. lo único que se está haciendo es guardar variables en el objeto de Smarty, para que al terminar la ejecución (el método display()) todo el contenido sea recién procesado. Si usas varios display() en tu script, entonces estarás usando varios templates.

No es más fácil crear una variable común (o una constante) donde guardes el nombre de la plantilla que vas a usar?

  #3 (permalink)  
Antiguo 17/12/2008, 07:12
Avatar de SUSMO  
Fecha de Ingreso: abril-2008
Ubicación: Barcelona
Mensajes: 188
Antigüedad: 16 años
Puntos: 0
Respuesta: Saber el template de smarty en php

Hola okram,

Yo pensaba que igual que existe la variable $smarty.template que devuelve la información que necesito existiría una función que hiciera lo mismo pero cuando se trabaja en php, pero ya veo que no :(

Así que tienes toda la razón, cuando obtenga el nombre del template al mismo tiempo que llame al display crearé una variable de smarty con el nombre y luego desde php la llamaré con la función get_template_vars, y no hay problema pq sólo uso un template en cada página.

Muchas gracias por la ayuda!!!
__________________
Perdida en el mundo del conocimiento
  #4 (permalink)  
Antiguo 17/12/2008, 07:14
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Saber el template de smarty en php

No es necesario que la variable sea creada para la plantilla (usando $smarty->assign()). Una variable sencilla, como $tpl es suficiente.

  #5 (permalink)  
Antiguo 17/12/2008, 07:21
Avatar de SUSMO  
Fecha de Ingreso: abril-2008
Ubicación: Barcelona
Mensajes: 188
Antigüedad: 16 años
Puntos: 0
Respuesta: Saber el template de smarty en php

Debo crearla para la plantilla ya que necesito acceder a esta variable des de la función de una clase diferente a la que uso para cargar las plantillas.

Saludos,
__________________
Perdida en el mundo del conocimiento
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:29.