Analizando la estructura de Prestashop, el cual tuve que regresar, hace unos días, y con más de tiempo disponible, explicaré como funciona.
Prestashop funciona bajo el sistema modelo, vista, controlador, y por tanto tiene muy bien estructurado la separación lógica de estos tres componentes.
Los archivos con la extensión tpl, se encargan de las vistas, Smarty es su gestor de base de datos y están los modulos que ejecutan acciones complejas dentro del Framework.
Orientado a objetos
Prestashop está orientado a objetos, o al menos lo simula con bastante decencia, por ello todos sus módulos actúan como objetos y extienden de diferentes clases, además poseen un hook del cual cuelgan. Los modulos poseen casi todos una vista y un controlador, del cual extienden funcionalidades.
Cuando Prestashop se instala, se instalan un conjunto de módulos básicos y luego cada tema o plantilla incorporara, los suyos propios que tendrán prioridad sobre los del sistema si llegan a coincidir.
Por tanto veremos que dentro de cada módulo, la lógica está representada por el archivo .php, con el nombre del modulo, y la vista por el archivo con el nombre del modulo y la extensión .tpl., en algunos casos podría tener un archivo index, tambien
El core
El core de Prestashop, se divide a su vez en una estructura de carpetas, bastante intuitiva, las más importantes para conocer y que podríamos tener que tocar son classes ,config, themes, override, modules, tools y translation.
Debido a su utilidad y gran aceptación, y ser de código abierto, posee una vasta red de colaboradores.
Los cambios más drásticos seguramente serán aquellos que realicemos en modulos y themes, pero los que hagamos en los archivos php dentro de los módulos son los que más cuidado requieren .
Los cambios en la lógica deben hacerse en el nombredelmodulo.php. Debo decir que Prestashop asimila perfectamente php nativo, por tanto las modificaciones no requieren mucho más que conocer este lenguaje, pero cuidado, porque deberán luego adecuar también los efectos de estas modificaciones en la vista si fuera necesario, por diferentes vías, algunas de ellas por ejemplo reestructurar las imágenes o limpiar la cache no requieren el uso de código y pueden aprovecharse para ello, las herramientas que el mismo Prestashop ofrece, otras como la modificación de traducciones, o la corrección del código de las vistas si exigirá conocimientos de javascript, html y css.
Override
Una herramienta importante que nos da el framework es el override, con ella los cambios que hagamos, lo guardaremos allí, eso no facilita que al actualizar a nuevas versiones, estos no se sobrescribirán y nuestras modificaciones serán protegidas.
Cambios de versiones ha habido muchos, Prestashop tiene una comunidad de desarrolladores muy activa, pero la versión 1,6 sigue siendo la mejor, mas estable, menos bugs y mejor soportada.
A pesar de todas la ventajas que la versión 1.7 ofrece no acaba de brindar la suficiente confianza a los usuarios, yo por mi parte sigo recomendando que quien tenga la versión 1.6 no la cambie.
Prestashop es potente y posee muchas soluciones a mano, que podemos aprovechar. Mi sugerencias sobre donde hacer adecuaciones, para personalizarlo por ejemplo, son estas:
La manera mas sencilla es tocar solo los archivos dentro de la carpeta modules. Sii no es necesario tocar el php, se pueden centrar las modificaciones en los archivos tpl. Importante decir que estos mezclan html con variables y código php que se encierra entre corchetes, hay que estudiar conocer la variables, lo cual no es demasiado difícil y atender a los archivos que poseen texto entre comillas simples, estos son textos que aparecen en la plantilla y que tendrán también traducción , por tanto si se cambian, se deberá buscar en el archivo de traducciones y cambiarlo.
Prestashop ofrece una herramienta para esto, en el Administrador de la tienda en Herramientas/Traducciones, o se puede hacer también hurgando en el código directamente, en la carpeta idiomas.
También ser pueden modificar la estructura de los mails, esto se logra en los archivos dentro de la carpeta mails, editándolos fácilmente.
Plantillas
La modificación de los temas o plantillas se puede hacer por varias vías, una es tomar un tema de internet: los hay buenos y malos, y de pago y gratis. Los temas se instalan en la carpeta “themes”.
La otra y es la que yo recomiendo que si no lo tienen claro, se crea una plantilla nueva a partir de la que trae Prestashop por defecto que en la versión 1.6 esta muy bien y mejorarla.
El mismo prestashop permite crear un nuevo tema desde su propio administrador en el gestor de temas, basta con poner un nombre nuevo y decirle que toma como base el tema default, y seleccionar los módulos que heredara de el,
La ventaja de hacer esto es que es una plantilla que funcionara al 100%, cosa que no sucede a veces con las que hay en la red.
A partir de aquí modificarla será ya mas fácil, con las herramientas de cualquier desarrollador de frontend, pero con las herramientas de desarrollo de Chrome y un buen editor y la conexión a FTP, estará hecho todo.
Y listo, esto es todo.
Espero modestamente que este artículo, sirva de ayuda a alguien.
Gracias.
…., si avanzo sígueme, si me detengo empújame, si retrocedo mátame…….