El motor de plantillas Smarty en aplicaciones como Prestashop
Smarty es un motor de plantillas para PHP. Smarty separa el código PHP del código HTML y genera contenidos web mediante a la colocación de etiquetas Smarty en un documento.
Domingo, 19 Octubre 2008 | por Luis A. Serrano | Categoría: Prestashop
Conviene que tengamos claro que es Smarty y si nuestra aplicación o CMS hace uso de él para evitarnos algunos quebraderos de cabeza posteriores.
Smarty es un motor de plantillas para PHPW. Smarty separa el código PHP del código HTML y genera contenidos web mediante a la colocación de etiquetas Smarty en un documento. Se encuentra bajo la licencia LGPLW por lo que puede ser usado libremente.
Estas son las funcionalidades que obtendremos con Smarty:
- Plantillas limpias fáciles de usar por los diseñadores.
- Escalabilidad.
- Mantenimiento más sencillo (al igual que la escalabilidad, únicamente con la separación de código y presentación no se consigue un mantenimiento más sencillo, también se requerirá de una buena codificación).
- Depuración óptima del código, al tener ficheros pequeños únicamente con código PHP.
- Posibilidad de introducir comentarios dentro de las plantillas que no se enviarán al servidor. Ejemplo:
{* comentario smarty *}en lugar de<!-- comentario HTML --> - Funciones integradas que facilitan el tratamiento de variables. Ejemplos:
{foreach}{/foreach},{if}{else}{/if}. - Funciones asistentes para generación de código HTML. Ejemplos:
{html_image file=”banner.jpg”}generaría<img src="banner.jpg" alt="" width="700" height="55" /> - Expandir Smarty con más funcionalidades mediante plugins.
$plantilla->caching = 1.- Activa la cache
$plantilla->display(‘plantilla.tpl’).- El fichero plantilla.tpl debe contener la plantilla a devolver
$html = $plantilla->fetch(‘planilla.tpl’).- Para no volcar al navegador el html y tenerlo almacenado en la variable $html.
$plantilla->cache_dir = ‘/tmp/smarty/’.- Grabará las planillas cacheadas en este directorio (smarty cachea el contenido en disco por defecto)
$plantilla->cache_lifetime = 300.- El contenido permanece en cache 5 minutos (300 segundos) antes de ser reemplazado. El valor por defecto es una hora.
$plantilla->compile_check = true.- Verifica si la plantilla ha sido actualizada desde la última vez que se regeneró la caché. Introduce una pequeña sobrecarga al tener que averiguar y comparar la fecha de modificación de la plantilla.
$plantilla->is_cached(‘plantilla.tpl’).- Detecta si una plantilla está en el cache o no.
$plantilla->assign(‘variable’,$var).- La plantilla puede ahora leer la variable $var, con el nombre {variable} generando así contenido realmente dinámico
$plantilla->clear_cache(‘plantilla.tpl’).- Elimina la cache para esta plantilla
$plantilla->clear_all_cache().- Elimina todas las caches (en el directorio de cache)
SMARTY EN PRESTASHOP
$smarty->force_compile = true;
$smarty->force_compile = false;
¿Qué ocurre si luego tenemos que editar alguna plantilla .tpl para hacer algún cambio?
También puede interesarte ...
La idea de crear un motor de plantillas de diseño como Smarty responde a la pregunta, ¿cómo hace ...
Hoy mismo nos llegaba la invitación de Bruno Lévêque (uno de los creadores de Prestashop) para a ...
En este completo manual dedicado a la solucion de Tiendas Virtuales de Prestashop se solucionan ...
El siguiente tutorial explica algunas correccciones de la tienda virtual elaborada con Prestasho ...
En este video tutorial explicamos brevemente como instalar la aplicación de comercio electrónico ...

AVISO IMPORTANTE: A partir de la versión estable 1.1 de Prestashop esto ya está optimizado y no hace falta hacer ningún tipo de cambio de este tipo.