Bienvenido al Foro, bueno Smarty es un Clase para PHP que nos permite manejar Templates de Impresion (digo de Impresion, por que puede ser un documento HTML, un XML, etc ...)
Con Smarty, podemos separar el contenido de la Programacion. Un Ejemplo muy directo de Smarty es el Siguiente.
index.php Código PHP:
<?
// Incluimos Clase Smarty
require 'libs/Smarty.class.php';
// Obtenemos algunos Datos y Variables
$year = date("Y",time());
$ip = $_SERVER['REMOTE_ADDR'];
$resultado = ((25*25)/104 +2121);
// Imprimimos Template
// Instanciamos Template
$smarty = new Smarty;
// Entregamos Variables
$smarty->assign("ip",$ip);
$smarty->assign("year",$year);
$smarty->assign("matematica",$resultado);
// Finalmente Imprimimos Template
$smarty->display("home.tpl");
?>]
home.tpl
Código HTML:
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin título</title>
</head>
<body>
Hola a todos,<strong> bienvenido </strong>a esta pagina que no contiene nada, tu IP es : {$ip } y podemos ver que estamos en el Año {$year} , una operacion matematica nos dio el resultado {$matematica}
</body>
</html>
Como ves, en index.php nos dedicamos a operar, extraer datos, etc etc ... luego la informacion se la enviamos al template (a la clase del smarty) y finalmente mandamos a imprimir el template.
Como puedes ver, la ventaja de esto, es que la programacion esta separada del diseño, el diseño es home.tpl, este puede ser una simple hoja o html completo, si queremos cambiar el diseño , solo editamos home.tpl y no modificamos nada en la programacion index.php
Tengo un Tips
Smarty : Usando Matrices el cual habla el metodo de pasar matrices (arrays) con informacions a los template, viene con un ejemplo funcionando.
Saludos