Ver Mensaje Individual
  #4 (permalink)  
Antiguo 12/09/2006, 19:19
Avatar de enriqueplace
enriqueplace
 
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 19 años
Puntos: 32
Estimado, lee con calma el manual de Smarty

Lo que tu deberías hacer, por ejemplo, es asignar a través de la instancia Smarty (creada en PHP) una variable con el mismo array que contiene la información que quieres mostrar en el template (en este caso, los colores).

Luego, del lado de Smarty, tomas la variable y usas un foreach para recorrerla y mostrarla.

La idea es que del lado de "la lógica" (PHP) te desentiendas del lado de "la interfaz" (Smarty), por lo que la primera solo debe preocuparse en conseguir los datos y la segunda en representarlos donde deben.

Los datos de los colores ya los tienes, entrégalo a Smarty para luego trabajarlos desde ahí.

En PHP sería:

Código PHP:
$coloresPHP = array('black','white','orange');

// Al "representante" de Smarty en el entorno PHP le 
// dices que vas a crear una variable 'coloresSmarty' con 
// el contenido $coloresPHP
$smarty->assign('coloresSmarty',$coloresPHP);

$smarty->display('../index.tpl'); 
Y en Smarty:

Código PHP:

{foreach from=$coloresSmarty item=color}
 
Color ahora es  {$color}<br />
{/foreach} 
Lo que hiciste del lado de PHP fue un "puente" entre la lógica y la interfaz, a través de la variable "coloresSmarty".

¿Se entendió un poco más?

PD: les puse esos nombres a las variables para que quede bien claro que son variables distintas.

También es normal que se defina en Smarty la variable sin '$' y luego se la agregue... es parte de la sintaxis.
__________________
Blog phpsenior.com Cursos a Distancia surforce.com