Diseñar y crear el aspecto visual de un sitio de Prestashop y desarrollar las funcionalidades específicas que necesitará requiere especialistas de dos campos muy diferentes. Los diseñadores gráficos a cargo de la interfaz del sitio no necesariamente saben cómo desarrollar y los desarrolladores no siempre son buenos diseñadores gráficos. Por lo tanto, es necesario poder separar las dos tareas, la visualización y las funcionalidades, para luego combinarlas mejor y obtener un sitio Prestashop completamente operativo. El motor de plantillas Smarty está ahí para cumplir esta función y permitir que los diferentes oficios colaboren en la construcción del sitio Prestashop.
En pocas palabras, es una herramienta que facilita la gestión de la visualización de un sitio o una aplicación escrita en PHP.
El código PHP de Prestashop se lee e interpreta.
Se lee el archivo de plantilla de Smarty Prestashop.
Se compila el código contenido en la plantilla Smarty: se traduce la información mencionada en el lenguaje Smarty para que pueda ser utilizada por PHP.
Se recopilan los códigos PHP de la compilación de archivos tpl de Prestashop y Smarty Prestashop.
El código PHP resultante se ejecuta.
En los lugares que debe mostrar datos de la base de datos, como el nombre de un producto, su imagen o su precio, por ejemplo, debe insertar comandos para mostrar las variables de Smarty.
Por ejemplo, si desea mostrar el contenido de una variable llamada "precio" en la página, todo lo que tiene que hacer es agregar la siguiente instrucción de lenguaje Smarty al código HTML: {$precio}. También puede modificar el formato de visualización, utilizando un modificador de variable de idioma Smarty. Por ejemplo, {precio|formato_de_cadena:”%.2f”} mostrará el precio con dos decimales. Independientemente de cómo se obtendrá el contenido de esta variable, el diseñador gráfico puede integrarlo en su página. Naturalmente, los diseñadores y desarrolladores deben trabajar juntos para coordinarse, aunque solo sea para ponerse de acuerdo sobre los nombres de las variables utilizadas. El diseñador gráfico teniendo los nombres de las variables existentes y la naturaleza de sus contenidos podrá utilizarlas más fácilmente en el archivo tpl inteligente. El desarrollador, conociendo los nombres de las variables que el diseñador gráfico necesita en su plantilla Smarty Prestashop, podrá crearlas y almacenar allí la información necesaria.

¿Qué es Smarty?
Smarty es un motor de plantillas para el lenguaje PHP.En pocas palabras, es una herramienta que facilita la gestión de la visualización de un sitio o una aplicación escrita en PHP.
Mostrar el contenido del sitio usando PHP
Hay dos formas de administrar la visualización de un sitio dinámico con PHP. La primera solución consiste en integrar directamente variables PHP (que contienen información de la base de datos, por ejemplo, como el nombre de un producto, su precio o el total calculado de una cesta) en el código HTML de la página para insertar los datos desea mostrar. Esto tiene la ventaja de ser muy simple y rápido de hacer. Una vez que la estructura HTML está en su lugar y el código CSS está escrito para definir el formato, todo lo que necesita hacer es agregar un poco de código PHP para que los datos se inserten durante la construcción de la página. Por otro lado, es necesario conocer al menos un mínimo el lenguaje PHP, y la mezcla del código HTML y PHP dificulta el mantenimiento y la evolución del sitio.Usar un motor de plantillas
La segunda solución es utilizar un motor de plantillas para gestionar la visualización de las páginas. Permitirá separar la presentación (la visualización resultante de la interpretación de HTML y CSS) de la lógica de la aplicación. Esto significa que la gestión de visualización es independiente de la recuperación y preparación de datos para su visualización. No es necesario dominar PHP. Smarty usa un lenguaje para definir variables que habrá sido alimentado aguas arriba por PHP. Smarty ofrece muchas funciones y opciones, lo que permite, por ejemplo, crear condiciones, bucles o incluso administrar un caché. La ventaja de este pseudolenguaje es que alguien que no es desarrollador puede trabajar en la creación de Plantillas Smarty Prestashop. El diseñador y el desarrollador podrán así trabajar juntos.
Principio de funcionamiento de una plantilla Smarty Prestashop
La visualización de una página web utilizando una plantilla de Smarty Prestashop ocurre de la siguiente manera:Smarty caché Prestashop
Todo esto puede tomar tiempo. Por razones de rendimiento, se puede configurar un caché de Smarty Prestashop. En lugar de reconstruirse cada vez desde cero, algunas páginas muy solicitadas se pueden almacenar en caché. Es decir, se almacena el resultado final enviado al usuario. Cuando se solicita la misma página, en lugar de ejecutar el código desde el principio, el resultado se lee directamente desde el caché y se envía al navegador. El rendimiento ha mejorado mucho. Por lo general, una página de inicio, la lista de productos de una categoría o las promociones en curso se pueden almacenar en caché y reutilizar fácilmente.
Smarty para diseñadores gráficos
Una de las muchas ventajas de usar un motor de plantillas como Smarty para Prestashop es que los diseñadores y desarrolladores pueden trabajar por separado. El diseñador gráfico encargado de diseñar el aspecto visual y crear las páginas no necesita dominar la programación PHP. Todo lo que tiene que hacer es aprender la sintaxis del lenguaje Smarty para Prestashop. Diseña su modelo, crea sus páginas usando HTML y CSS, añade imágenes, animaciones...En los lugares que debe mostrar datos de la base de datos, como el nombre de un producto, su imagen o su precio, por ejemplo, debe insertar comandos para mostrar las variables de Smarty.
Por ejemplo, si desea mostrar el contenido de una variable llamada "precio" en la página, todo lo que tiene que hacer es agregar la siguiente instrucción de lenguaje Smarty al código HTML: {$precio}. También puede modificar el formato de visualización, utilizando un modificador de variable de idioma Smarty. Por ejemplo, {precio|formato_de_cadena:”%.2f”} mostrará el precio con dos decimales. Independientemente de cómo se obtendrá el contenido de esta variable, el diseñador gráfico puede integrarlo en su página. Naturalmente, los diseñadores y desarrolladores deben trabajar juntos para coordinarse, aunque solo sea para ponerse de acuerdo sobre los nombres de las variables utilizadas. El diseñador gráfico teniendo los nombres de las variables existentes y la naturaleza de sus contenidos podrá utilizarlas más fácilmente en el archivo tpl inteligente. El desarrollador, conociendo los nombres de las variables que el diseñador gráfico necesita en su plantilla Smarty Prestashop, podrá crearlas y almacenar allí la información necesaria.
