Foros del Web » Programando para Internet » PHP »

Cómo se usa smarty?

Estas en el tema de Cómo se usa smarty? en el foro de PHP en Foros del Web. 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. ...
  #1 (permalink)  
Antiguo 27/05/2011, 13:08
 
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.

Etiquetas: smarty
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 17:31.