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…….