Foros del Web » Programando para Internet » PHP »

Definir variables Smarty dentro de una funcion

Estas en el tema de Definir variables Smarty dentro de una funcion en el foro de PHP en Foros del Web. Buenas noches, Sabeis si es posible definir variables smarty dentro de una funcion? Algo asi como: Código: function funcion_x() { //Codigo de la funcion... $plantilla->assign('titulo',$titulo); ...
  #1 (permalink)  
Antiguo 14/01/2009, 17:48
 
Fecha de Ingreso: marzo-2004
Mensajes: 283
Antigüedad: 20 años, 2 meses
Puntos: 2
Definir variables Smarty dentro de una funcion

Buenas noches,
Sabeis si es posible definir variables smarty dentro de una funcion? Algo asi como:
Código:
function funcion_x()
{
//Codigo de la funcion...

$plantilla->assign('titulo',$titulo);
$plantilla->assign('texto',$texto);
$plantilla->assign('galeria',$galeria);
}
El concepto es basicamente ese, que una vez definidas las variables smarty dentro de la funcion nos sirvan luego en la plantilla, pero tal y como lo he puesto arriba no funciona. Si se pudiera hacer me seria muy util, porque ahora mismo lo que estoy haciendo es que la funcion retorne un array y ya fuera de la funcion asigno las variables smarty con las partes de ese array, pero claro, esto es un asco cuando tienes que hacerlo cada vez que llames a la funcion. A ver si me podeis ayudar. Muchas gracias
  #2 (permalink)  
Antiguo 14/01/2009, 18:43
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Definir variables Smarty dentro de una funcion

Si es posible, pero antes de usar el objeto $plantilla dentro de la funcion, debes recibirlo por parametro o tomarlo con la instruccion global:

Código PHP:
function mi_funcion() {
    global 
$plantilla;
    
// tu codigo....

__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 15/01/2009, 02:27
 
Fecha de Ingreso: marzo-2004
Mensajes: 283
Antigüedad: 20 años, 2 meses
Puntos: 2
Respuesta: Definir variables Smarty dentro de una funcion

Ole, muchas gracias Triby, funciona perfectamente!
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 22:40.