Autor Tema: Gestor de plantillas Smarty PHP: Instalación rápida.  (Leído 9770 veces)

Enrique González Gutiérrez

  • Experto
  • *****
  • Mensajes: 1279
  • Tao Te Ching
    • Ver Perfil
Gestor de plantillas Smarty PHP: Instalación rápida.
« en: 23 de Septiembre 2011, 11:06 »
¿Cómo podemos instalar rápidamente el Gestor de plantillas Smarty PHP?

Entre los problemas que pueden presentarse podemos destacar los siguientes:

    * No tenemos control del servidor donde alojamos nuestro sitio, solo de un directorio.
    * No tenemos conocimientos suficientes para configurar el servidor web.
    * Hemos seguido el tutorial de la página oficial pero tuvimos problemas al entenderlo o simplemente no pudimos seguir los pasos.
    * Estamos en Windows usando algún software que nos provee el entorno de desarrollo (Apache, PHP, MySQL, etc) pero no Smarty, y el tutorial de instalación no contempla este contexto.
    * Etcétera.

¿Qué es Smarty?

Smarty es un conjunto reducido de clases que ofrecen la funcionalidad de "templates html" para desarrollos basados en PHP, donde terminamos usando una instancia (POO) para manipular la información y el comportamiento del motor de templates.

Solución que recomiendo

Bajar el paquete Smarty y descomprimirlo en el directorio donde se encuentra nuestro sitio web.

Ejemplo

Si el directorio en el servidor web es "/www/" y el directorio de nuestro sitio es "miportal", la ruta completa sería "/www/miportal".

Si nos bajamos el paquete de Smarty del sitio oficial, este vendrá comprimido y con la siguiente nomenclatura: "Smarty 2.6.26". Está nomenclatura indica la versión del gestor.

En este punto deberiamos cambiar el nombre del directorio de Smarty a "smarty" sin números, ni espacios, ni caracteres extraños.

Directorios necesarios

    * templates: este directorio contendrá los templates para nuestras páginas web, es decir, los archivos .tpl.html que contienen código html + código Smarty con la posibilidad de ser invocado desde un PHP.

    * templates_c: es el directorio temporal donde el sistema lee los templates del directorio anterior y genera un nuevo html de forma dinámica con el código resuelto, es decir, código html y la sustitución de todas las variables cargadas y las sentencias propias resultas por el Smarty. Este resultado es la "página final", lo que recibirá el usuario cuando navegue nuestro sitio web.

Prueba

Para probar la plantilla creada, podemos usar el siguiente ejemplo.

<?
require_once("Smarty/libs/Smarty.class.php");

$miSmarty = new Smarty();

$miSmarty->template_dir = 'templates';
$miSmarty->config_dir = 'config';
$miSmarty->cache_dir = 'cache';
$miSmarty->compile_dir = 'templates_c';

$miSmarty->assign("titulo", "Hola mundo con Smarty");
$miSmarty->display("formulario.tpl.html");
?>

Incluimos la clase base "Smarty.class.php" y luego creamos la primer instancia de nuestro template, modificamos los atributos de la clase para definir donde estarán los directorios necesarios para su trabajo y creamos una variable del template (assign) y le cargamos el título del formulario ("Hola mundo con Smarty").

Finalmente, invocamos el template con el método "display".

Nuestro primer template

Podemos usar la nomenclatura que más nos guste; en este caso seguimos los ejemplos de la documentación oficial: nombredearchivo.tpl.html, donde "tpl" es la abreviación de template y obviamente "html" porque es un archivo con ese formato. Esto último es útil para poder editar el archivo en nuestro editor HTML de preferencia.

Deberemos tener creado el archivo "holamundo.tpl.html" en el directorio "template" con el siguiente contenido:

{$titulo}

Donde el "{$titulo}" será sustituido con el contenido especificado en archivo PHP.

En Resumen

Logramos instalar Smarty sin depender de la configuración del servidor, sin necesitar tener acceso como administradores. Logramos modificar su comportamiento, creamos la primer instancia del objeto y logramos ejecutar el primer template.

Ahora tenemos el camino abierto para aprender a usarlo.

Proximamente abordaremos los temas iniciales de como empezar a usar el gestor de plantillas Smarty.

Un saludo.
« Última modificación: 03 de Octubre 2011, 10:37 por Enrique González Gutiérrez »
Responsable de departamento técnico de aprenderaprogramar.com

Lola Roches

  • Sin experiencia
  • *
  • Mensajes: 33
    • Ver Perfil
Re:Gestor de plantillas Smarty PHP.Instalación rápida.
« Respuesta #1 en: 24 de Septiembre 2011, 16:11 »
Hola Enrique, he visto lo que has explicado en relación a smarty pero a ver si me puedes aclarar un poco cuestiones:

Para mí un template o plantilla viene siendo una definición de estilos según la cual yo digo por ejemplo que la clase "brilliant" supone que los textos de esa clase vayan con un tamaño de 24 px y negrita y justificados... se aplica en todos los lados donde aparezca esa clase definida.

Ahora si yo cambio de plantilla y la nueva plantilla dice que la clase "briliant" supone que los textos de esa clase vayan con un tamaño de 18 px sin negrita y centrados, cuando cambio de plantilla mi página se ve distinto.

Después conozco programas para crear plantillas como Artisteer.

Lo que no tengo claro es ¿para qué sirve smarty? ¿Para crear plantillas? ¿Y esas plantillas dónde las puedo aplicar (por ejemplo, si puedo aplicarlas a una página que tenga en wordpress)?

Si me confundo en el planteamiento te agradezco me lo aclares. Gracias...

Enrique González Gutiérrez

  • Experto
  • *****
  • Mensajes: 1279
  • Tao Te Ching
    • Ver Perfil
Re:Gestor de plantillas Smarty PHP.Instalación rápida.
« Respuesta #2 en: 26 de Septiembre 2011, 13:03 »
Smarty es un gestor de plantillas PHP. Es decir, plantillas con formato, código y estructura en PHP.

Para que te aclares un poco, te pongo la siguiente situación:

Tengo que mostrar un listado de 24 enlaces con PHP.

Con Smarty, haremos una plantilla en PHP, es decir, un código en PHP (html en su mayor parte) + código Smarty que siempre será el mismo.

Ahora bien, esos 24 enlaces queremos que sean siempre los más recientes en fecha.

Pues bien, con la función assign del objeto Smarty asignariamos los enlaces a la plantilla anterior, consiguiendo con esto que la plantilla fuera sólo la parte de visualización para el usuario (Vista) y, la página PHP en la que inyectamos los datos para la plantilla, la que deberiamos modificar en el caso de querer mostrar unos enlaces u otros (Lógica de negocio e inyección de datos).

*Recordar el patrón de programación MVC (Modelo Vista Controlador).

Si aún no te ha quedado claro, cuando vayamos profundizando más en el tema irás viéndolo con mayor claridad.

Si tus conocimientos de programación no son avanzados, estos patrones de programación pueden resultarte complicados.

Un saludo y espero haber podido aclaraarte algo.
Responsable de departamento técnico de aprenderaprogramar.com

Lola Roches

  • Sin experiencia
  • *
  • Mensajes: 33
    • Ver Perfil
Re:Gestor de plantillas Smarty PHP.Instalación rápida.
« Respuesta #3 en: 27 de Septiembre 2011, 12:49 »
Buenas Enrique,

no llevo a aclararme del todo. Espero que cuando vayas poniendo más ejemplos e información y yo vaya practicando un poco, la gran mayoría de mis dudas queden aclaradas.

Muchas gracias.

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".