Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/05/2011, 13:08
efelix
 
Fecha de Ingreso: agosto-2005
Mensajes: 152
Antigüedad: 18 años, 8 meses
Puntos: 0
Cómo se usa smarty?

Hola a todos.
Saludos.
Tengo una duda, después de seguir al pie de la letra las instrucciones para el uso de smarty no me funciona.
Les explico, descargué la versión 3.0.6, cree en la raíz de la unidad c lo siguiente, es decir la siguinete ruta c:\php5\includes\smarty\libs, y ahí adentro decompaté el fichero con la versión de samrti antes mencionada, es decir que dentro de esa carpeta se encuentra smarty.class.php. Además de eso cree 4 carpetas en la raíz de c, a las cuales les puse el siguiente nombre: smartytemplates, smartytemplates_c, samrtyconfigs y smartycache.
Luego edite el fichero php.ini y en el include_path puse esto:

; Windows: "\path1;\path2"
include_path = ".;c:\php\includes;c:\php5\includes\Smarty\lib s"
Luego reinicie el servidor apache.
Después cree un fichero php al cual llamé plantilla.php con el siguiente código:
Código PHP:
<?php

/**
 * @author Ernesto
 * @copyright 2011
 */
//cargamos las librerías de smarty
require('Smarty.class.php');

$smarty = new Smarty;

$smarty->template_dir 'c:\smartytemplates';
$smarty->config_dir ' c:\smartyconfig';
$smarty->cache_dir 'c:\smartycache';
$smarty->compile_dir 'c:\smartytemplates_c';

//asignamos los valores para personalizar plantilla, para sustituir las variables de la misma
$smarty->assign('nombre','DesarrolloWeb.com');
$smarty->assign('titulo','Título de la página que meto desde PHP para personalizar!');

$smarty->display('index.tpl');
?>
El fichero index.tpl lo coloqué en la carpeta que correspondiente a las plantillas según lo explicado anteriormente, este es el código de dicho fichero:
Código PHP:
<?php
require("Smarty.class.php");
$smarty = new Smarty;
// Assign two Smarty variables
$smarty->assign("name""Jason Gilmore");
$smarty->assign("title""Smarty Rocks!");
// Retrieve and output the template
$smarty->display("index.tpl");
?>
Por último creo un fichero html:
Código HTML:
<html>
<head>
<title>{$title}</title>
</head>
<body bgcolor="#ffffff" text="#000000" link="#0000ff"
vlink="#800080" alink="#ff0000">
<p>
Hi, {$name}. Welcome to the wonderful world of Smarty.
</p>
</body>
</html> 
Hago una prueba a ver si funciona y nada. No me da ningún error, el fichero sale solo que no sustituye los nombres de las variables provenientes de la pantilla. Pone en la barra de titulo del navegador {title} y en el cuerpo pone {name}.
A qué se debe esto, que he hecho mal.
Muchas gracias.