Techguide_es

Embed Size (px)

Citation preview

PrestaShop

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

v 1.01/41

PrestaShop

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

Documentacin Documentacin tcnica de la Solucin e-comercio open-source PrestaShopDEFINICIONES................................................................................................................................................... 4 INTRODUCCIN GENERAL Y FILOSOFA DEL PROYECTO .................................................................................... 4 PRERREQUISITOS TCNICOS ............................................................................................................................. 5 INSTALAR PRESTASHOP .................................................................................................................................... 5 INSTALACIN LOCAL O A DISTANCIA? .......................................................................................................................... 5 DESCARGAR PRESTASHOP .......................................................................................................................................... 6 COPIAR LOS ARCHIVOS DE INSTALACIN ........................................................................................................................ 6 COMPROBAR LOS PERMISOS ....................................................................................................................................... 6 CREAR LA BASE DE DATOS........................................................................................................................................... 6 SENSIBILIZACIN A LAS COPIAS DE SEGURIDAD ................................................................................................................ 7 LANZAR LA INSTALACIN ............................................................................................................................................ 7 Etapa 1 Bienvenido ....................................................................................................................................... 7En qu idioma quiere efectuar la instalacin? ............................................................................................................ 7 Mtodo de instalacin .................................................................................................................................................. 7

Etapa 2 Compatibilidad del sistema ............................................................................................................. 8Por favor, asegrese de que ha validado los siguientes parmetros ............................................................................ 8 Parmetros opcionales .................................................................................................................................................. 8

Etapa 3 Configuracin del sistema ............................................................................................................... 8Configuracin de la base de datos ................................................................................................................................ 8 Parmetros de envo de emails ................................................................................................................................... 10

Etapa 4 Configuracin de la tienda ............................................................................................................ 10Nombre de la tienda ................................................................................................................................................... 10 Pas por defecto .......................................................................................................................................................... 10 Logo de la tienda ......................................................................................................................................................... 10 Nombre ....................................................................................................................................................................... 10 Apellido ....................................................................................................................................................................... 10 Direccin email............................................................................................................................................................ 10 Contrasea de la tienda .............................................................................................................................................. 10 Confirmar la contrasea .............................................................................................................................................. 10 Recibir mis datos por email ......................................................................................................................................... 11

Etapa 5 Instalacin terminada!................................................................................................................. 11 PERSONALICE SU TIENDA.......................................................................................................................................... 12 ACTUALIZACION DE PRESTASHOP .................................................................................................................. 13 PRECAUCIONES ...................................................................................................................................................... 13 COPIA DE SEGURIDAD .............................................................................................................................................. 13 Copia de seguridad de sus traducciones ....................................................................................................... 13 Copia de seguridad de su base de datos ....................................................................................................... 13 Copia de seguridad de sus archivos PrestaShop ............................................................................................ 14 INSTALACIN DE LA NUEVA VERSIN .......................................................................................................................... 14 Descarga ....................................................................................................................................................... 14 Extraer y copiar ............................................................................................................................................. 14 Restaurar los datos a partir de una antigua versin ..................................................................................... 14 Instalar la actualizacin ................................................................................................................................ 15 ARQUITECTURA GENERAL .............................................................................................................................. 15 GRANDES PRINCIPIOS (MDULOS, TEMAS) .................................................................................................... 16 MDULOS ............................................................................................................................................................ 16 El concepto .................................................................................................................................................... 162/41

PrestaShop

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

Funcionamiento tcnico de un mdulo ......................................................................................................... 16 Lista de los hooks de PrestaShop................................................................................................................... 17 TEMAS ................................................................................................................................................................. 21 El concepto .................................................................................................................................................... 21 Funcionamiento tcnico de un tema ............................................................................................................. 21 La gestin de las traducciones ...................................................................................................................... 22 Transmitir informaciones (datos) a un tema PrestaShop .............................................................................. 22 LA ARBORESCENCIA DE PRESTASHOP ............................................................................................................. 23 BUENOS HBITOS QUE DEBEN RESPETARSE (DESARROLLADORES, INTEGRADORES)...................................... 24 SECURIZAR SU INSTALACIN PRESTASHOP .................................................................................................... 24 OPCIONES DE CONFIGURACIN Y FINE-TUNING/PERFORMANCES ................................................................. 25 ARCHIVO CONFIG.INC.PHP ....................................................................................................................................... 25 ARCHIVO DEFINES.INC.PHP ....................................................................................................................................... 25 ARCHIVO SMARTY.CONFIG.INC.PHP............................................................................................................................ 25 MEJORA DE LAS PRESTACIONES DE PRESTASHOP .......................................................................................... 25 PRCTICAS ..................................................................................................................................................... 26 CREAR UN TEMA PRESTASHOP .................................................................................................................................. 26 Tema por defecto PrestaShop ....................................................................................................................... 26 Crear un nuevo tema ..................................................................................................................................... 26 Arborescencia de un tema ............................................................................................................................. 27 Tema de los mdulos..................................................................................................................................... 28 Consejos para editar un tema PrestaShop .................................................................................................... 28Firebug ........................................................................................................................................................................ 28 JavaScript .................................................................................................................................................................... 28 Archivo preview.jpg .................................................................................................................................................... 28 Normas W3C y compatibilidad inter-navegadores ..................................................................................................... 28

CREAR UN MDULO PRESTASHOP ............................................................................................................................. 29 Principio de los mdulos ................................................................................................................................ 29 Arborescencia de los mdulos ....................................................................................................................... 29 Estructura de base de un mdulo .................................................................................................................. 29 Configuracin de un mdulo ......................................................................................................................... 31 Trasladar un mdulo ..................................................................................................................................... 32 Mostrar un mdulo ....................................................................................................................................... 33 Utilizacin de Smarty .................................................................................................................................... 36 Traduccin de los mdulos ............................................................................................................................ 37 CREAR UNA PESTAA EN EL BACK-OFFICE, AS COMO SU CLASE ........................................................................................ 39 EN CASO DE PROBLEMA ................................................................................................................................. 40 FORO OFICIAL PRESTASHOP...................................................................................................................................... 40 HERRAMIENTA DE INFORMES DE ERRORES: EL "BUG TRACKER"........................................................................................ 40 PARTICIPAR EN EL FORO ........................................................................................................................................... 41 SOMETER UN ERROR EN EL BUG TRACKER ................................................................................................................... 41 SITIOS OFICIALES PRESTASHOP ...................................................................................................................... 41

Para cualquier pregunta, sugerencia o correccin sobre este documento, pngase en contacto con PrestaShop [email protected]/41

PrestaShop

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

Documentacin Documentacin tcnica de la solucin e-comercio open-source PrestaShopDefinicionesBack Office / BO / Panel de administrador El Back Office (BO) es la parte de un sitio Web que permite al administrador administrarlo, en oposicin al Front Office que constituye la interfaz con el usuario. Para un sitio de comercio en lnea, tambin se puede hablar de trastienda. En l, el vendedor puede administrar sus productos, los clientes, los pedidos, los parmetros, etc. Front office / FO El Front Office (FO) es la parte de un sitio Web destinado a los usuarios, es decir a los clientes en el caso de un sitio de venta en lnea. La interfaz destinado al administrador se llama Back Office. Open-Source La designacin Open-Source se aplica a los software cuya licencia respeta los criterios establecidos por el Open Source Initiative, es decir, la posibilidad de libre predistribucin, de acceso al cdigo fuente y de los trabajos derivados.

Introduccin general y filosofa del proyectoPrestaShop es un software e-comercio Open-source que puede descargarse de manera gratuita a partir de la siguiente direccin internet: http://www.prestashop.com. El software ha sido editado por una empresa francesa, basada en Pars, tambin llamada PrestaShop. En elle trabajan un equipo de quince personas para proporcionar un software de calidad, lo ms completo posible tanto en el plano tcnico como de las aplicaciones que propone. El proyecto est financiado por servicios especficos a vendedores (personalizacin grafica, desarrollos tcnicos) as como por dos proyectos: El proyecto est financiado por: Servicios especficos a los vendedores (personalizacin grfica, desarrollos tcnicos, ), formaciones de 4 tipos: desarrollos (PHP, MySQL) con PrestaShop, integracin (XHTML, CSS, Smarty) con PrestaShop, optimizacin de su referenciamiento con PrestaShop, utilizacin del Back-office PrestaShop, as como por dos proyectos: www.addons.prestashop.com La tienda oficial para PrestaShop (temas, mdulos, logos, ).4/41

PrestaShop

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

www.prestabox.com Una solucin de hosting llave en mano para el software PrestaShop. Las claves del proyecto PrestaShop son: Simplicidad Eficacia Flexibilidad Rapidez Cada usuario del software PrestaShop puede contribuir como quiera, y como pueda: Traducindolo en diferentes idiomas, Haciendo un don que permita que el proyecto mejore (http://www.prestashop.com/es/donate/), Participando en el foro comunitario (http://www.prestashop.com/forums/), ... PrestaShop agrupa actualmente a ms de 40 000 vendedores a travs de todo el mundo y progresa a pasos agigantados, gracias a una comunidad muy activa, con ms de 100 000 miembros.

Prerrequisitos tcnicosPrestaShop es un software pensado con el lenguaje de programacin PHP 5 y el sistema de base de datos MySQL 5. Para instalarlo, necesitar un servidor Web (Apache, IIS), tambin es posible utilizar un sistema en el que todo est incorporado, como WAMP, MAMP o EasyPHP. El 99% de los posting aceptan dichos elementos tcnicos, por lo que podr instalar fcilmente PrestaShop independientemente de cual sea su hosting.

Instalar PrestaShop Instalacin local o a distancia?Para que su tienda sea accesible en Internet, deber estar instalada en un servidor distante, por ejemplo en un hosting. En ese caso, antes de hacer una inscripcin compruebe que su hosting propone todos los requisitos tcnicos que hemos citado. El hosting pondr a su disposicin todas las herramientas necesarias para administrar su sitio Web (acceso FTP, servidor HTTP, herramientas de gestin de las bases de datos de los datos MySQL como PHPMyAdmin, etc.). Sin embargo, antes de lanzarse y de invertir en una inscripcin, es posible hacer un test de PrestaShop en su propio ordenador (Mac, PC, etc.). Esto es posible gracias a varios programas que dan acceso a los prerrequisitos tcnicos. Dichos programas se encuentran disponibles tanto para Mac como para Windows o Linux. A continuacin una lista no exhaustiva de dichos programas: Sistema de explotacin Linux Mac Windows Software XAMPP MAMP WAMP EasyPHP URL http://www.apachefriends.org/fr/xampp.html

http://www.mamp.info/en/index.html http://www.wampserver.com/ http://www.easyphp.org/

Para ms informacin sobre la utilizacin de dichos programas, puede consultar su documentacin.

5/41

PrestaShop

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

Descargar PrestaShopEl ltimo archivo estable de la solucin PrestaShop puede descargarse en la siguiente direccin:

http://www.prestashop.com/es/downloads/Las versiones consideradas estables para utilizar en produccin llevan el trmino "final". Otras versiones en curso pueden ponerse a disposicin en esta pgina pero solo para test. Se identifican por las palabras "alpha", "beta" o "RC". Le desaconsejamos que utilice estas versiones en produccin.

Copiar los archivos de instalacinUna vez haya descargado el archivo, debe extraer el contenido. Aparece una carpeta prestashop que contiene todos las carpetas y archivos de la solucin. Copie todos los elementos en su sitio Web, o bien en la raz, o bien en una subcarpeta. Se recomienda guardar el archivo descargado que sirvi para instalar su tienda, ya que en caso de problema, si no ha hecho copia de seguridad, puede necesitarlo posteriormente para reinstalar o restaurar un archivo corrupto.

Comprobar los permisosAsegrese de que las siguientes carpetas tienen permisos en lectura/escritura, llamados tambin CHMOD 666, de manera no recursiva, es decir, aplicados a la carpeta misma pero no a las subcarpetas: /config /download /tools/smarty/compile /upload Asegrese de que las siguientes carpetas tienen permisos en lectura/escritura, de manera recursiva: /img /mails /modules /themes/prestashop/lang /translations

Crear la base de datosEn el momento de validar la tercera etapa de la instalacin de PrestaShop, las tablas necesarias de funcionamiento de la solucin se crearn en el seno de la base de datos. Por lo tanto es necesario crear la base de datos antes de dicha etapa. Lo ms sencillo es crear la base de datos con la herramienta de su servidor (por ejemplo PHPMyAdmin) a partir de este momento. Ejemplo de creacin de la base de datos, en local, con WAMP Para crear una nueva base de datos con WAMP: Asegrese de que ha lanzado los servidores Apache y MySQL, Conctese a http://127.0.0.1/phpmyadmin/ a partir de su navegador, En el campo Crear una base de datos, escriba el nombre de la base de datos que va a crear (sin espacios ni caracteres especiales). Por ejemplo : mitienda,

Pulse en el botn Crear. La base de datos ya ha sido creada. Memorice el nombre de la base de datos, lo necesitar en la etapa 3 de la instalacin de PrestaShop.

6/41

PrestaShop

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

Sensibilizacin a las copias de seguridadPorque un incidente puede surgir en cualquier momento (mala manipulacin, virus, alteracin de datos, etc.), es preferible hacer copias de seguridad de su tienda con frecuencia. Una tienda PrestaShop est formada por una parte de carpetas y archivos (los que constituyen la solucin pero tambin las imgenes aadidas posteriormente, los archivos puestos a disposicin para las descargas del cliente, etc.) y por otra parte de una base de datos que agrupa toda la informacin como la descripcin de los productos, cuentas clientes, pedidos, etc. Es importante hacer copias de seguridad de ambas partes para no correr el riesgo de perder la mitad de su tienda.

Lanzar la instalacinLanzar la instalacin, accediendo a partir de su navegador habitual, a la carpeta que contiene sus archivos PrestaShop. Por ejemplo, escribir www.mitienda.com si se encuentra en la raz de su sitio (o localhost en local), et www.mitienda.com/shop/ si se encuentra en una subcarpeta shop (o localhost/shop/ en local).

Etapa 1 BienvenidoEn qu idioma quiere efectuar la instalacin?Seleccione el idioma que se utilizar en la ayuda de instalacin. La ayuda de instalacin PrestaShop se encuentra disponible en tres idiomas: ingls, francs y espaol.

Esta eleccin determina igualmente cul ser el idioma por defecto del Front Office y del Back Office despus de la instalacin. Existen paquetes de idiomas, disponibles gratuitamente que le permiten traducir tanto el Front Office como el Back Office de su tienda en la siguiente direccin:

http://www.prestashop.com/es/downloads/Mtodo de instalacinPara lanzar una nueva instalacin de PrestaShop, marque Instalacin completa de PrestaShop. Para efectuar la actualizacin de una tienda PrestaShop a una versin ms reciente, marque Actualizacin. Si el asistente de instalacin no detecta la instalacin anterior, slo se propondr la instalacin completa de PrestaShop.

Pulse en

para validar esta epata y pasar a la siguiente.

7/41

PrestaShop

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

Etapa 2 Compatibilidad del sistemaPor favor, asegrese de que ha validado los siguientes parmetrosTodos los elementos de la siguiente lista deben estar seleccionados en verde.

Si aparece un crculo rojo significa que la condicin correspondiente no se ha respetado; en ese caso es necesario corregir el problema. Las soluciones pueden ser diferentes en funcin del hosting. Haga una bsqueda de las soluciones que mejor se adapten a su caso en nuestro foro (http://www.prestashop.com/forums).

Parmetros opcionalesTodos los elementos de la siguiente lista son opcionales, pero se recomienda que se validen.

Si,

una

vez

solucionados .

los

problemas,

quiere

comprobar

su

configuracin,

pulse

en

Pulse en

para validar esta etapa y pasar a la siguiente.

Etapa 3 Configuracin del sistemaPara esta etapa, se debe crear una base de datos y poder asi generar las tablas. Ver prrafo Crear la base de datos a continuacin para ms detalles.

Configuracin de la base de datos

8/41

PrestaShop

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

Los cuatro primeros campos Servidor, Nombre de la base, Identificacin y Contrasea permiten configurar el acceso a la base de datos creada precedentemente. En el caso de una tienda instalada en local y de la utilizacin de un programa tipo LAMP (EasyPHP, WAMP, MAMP, etc.) consulte la documentacin oficial del mismo para saber qu parmetros especificar. En el caso de una instalacin en un hosting, ste ha debido comunicarle todos los parmetros necesarios (por email o en el panel de administrador de su cuenta). El botn permite comprobar la conexin correcta a la base de datos. No es posible pasar a la etapa siguiente si este test no se realiza con xito. Si el acceso al servidor no es posible (servidor que no se lanza, nombre de servidor incorrecto, identificador o contrasea incorrectos), aparecer el siguiente mensaje:

Si no se ha encontrado la base de datos (base de datos no creada, nombre de la base de datos incorrecta), aparecer el siguiente mensaje:

Si los parmetros son correctos, el test ser validado por el siguiente mensaje:

El campo Prefijo de las tablas permite especificar el prefijo con el que se relacionar el nombre de todas las tablas creadas con la herramienta de instalacin PrestaShop en la base de datos. Este prefijo permite diferenciar fcilmente las tablas de varias aplicaciones que utilizaran la misma base de datos. Despus, deber elegir entre dos modos de instalacin:

Modo completo Las tablas de la base han sido creadas, los principales mdulos estn instalados y se han aadido ejemplos (categoras, productos, clientes, pedidos, etc.) a la base. Ideal para hacer pruebas! Modo simple Las tablas de la base de datos han sido creadas pero no se ha incluido ningn producto ejemplo ni se ha instalado ningn mdulo. Tras la instalacin, el Front Office aparecer prcticamente vaco. Este es,9/41

PrestaShop

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

evidentemente, el modo que debe utilizar cuando instala su tienda definitiva, para que no se contamine con los datos de ejemplos del otro modo.

Parmetros de envo de emailsPara saber si la configuracin del envo de emails es funcional, es posible solicitar el envo de un email de test especificando una direccin email en el campo situado en la parte inferior de la pgina y pulsando en . Por defecto, la funcin mail() de PHP se utiliza para el envo de emails. Los usuarios con ms conocimientos, podrn especificar sus propios parmetros marcando la casilla Configurar el envo SMTP y cubriendo los campos que aparecen. Pulse en para validar esta etapa. La herramienta de instalacin procede de la creacin de las tablas necesarias para que la solucin PrestaShop funcione antes de pasar a la siguiente etapa. Esto puede llevar algunos minutos.

Etapa 4 Configuracin de la tiendaNombre de la tiendaEscriba el nombre de su nueva tienda PrestaShop. Este nombre se utilizar en la etiqueta y aparecer en la barra sistema del navegador de visitantes.

Pas por defectoElija el pas que se utilizar por defecto en su tienda.

Logo de la tiendaPulse en Recorrer para elegir en su disco duro la imagen correspondiente al logo de su tienda. Este campo es opcional, podr aadir su logo ms tarde, desde el Back Office (Back Office >> Preferencias >> Apariencia).

NombreNombre del administrador de la tienda.

ApellidoApellido del administrador de la tienda.

Direccin emailDireccin email del administrador de la tienda. Esta direccin servir como identificador de conexin en el panel de administrador de la tienda.

Contrasea de la tiendaContrasea del administrador de la tienda. Esta debe contener al menos 8 caracteres, nicamente letras, cifras o guiones: - _ Confirmar la contrasea Introduzca de nuevo la contrasea del administrador de la tienda para verificacin.

10/41

PrestaShop

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

Recibir mis datos por email Si desea recibir sus datos de conexin por email, marque esta casilla.

Etapa 5 Instalacin terminada!Esta ltima etapa recapitula algunos de los datos ms importantes de su tienda (nombre de la tienda, nombre y apellidos del administrador). A partir de este momento, ya puede acceder a su tienda pulsando en el cuadro Front Office. Si ha optado por la instalacin simple, esta puede tener un aspecto casi vaco.

Un clic en el cuadro Back Office le conduce a su panel de administrador.

Pero, de momento, este lo le permite conectarse. Le invita, por razones de seguridad, a suprimir la carpeta install y a renombrar la carpeta admin.

11/41

PrestaShop

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

Se aconseja evitar un nombre demasiado simple, como por ejemplo admin2. Estas operaciones se hacen manualmente en la carpeta de instalacin de su tienda, ya sea en su disco duro para una instalacin en local, o bien a travs de su cliente FTP si la instalacin se hace en un servidor distante. Si, en ese momento, intenta acceder a su panel de administrador pulsando de nuevo en el cuadro Back Office, aparecer un error 404 "Pgina no encontrada" ya que, al nombrar de nuevo la carpeta, se ha modificado su camino de acceso. Para poder acceder al mismo, basta con sustituir en la barra de direcciones de su navegador la carpeta admin por el nombre que le ha dado. Ejemplo en local Ejemplo en lnea Sustituir: Sustituir: http://127.0.0.1/shop/admin http://myshop.com/shop/admin por: por: http://127.0.0.1/shop/admin567 http://myshop.com/shop/admin567 En ese momento, tendr acceso al formulario de conexin y al panel de configuracin de su nueva tienda PrestaShop.

Introduzca la direccin email y la contrasea especificadas en la etapa 4 de la instalacin.

Personalice su tiendaPara terminar, esta quinta etapa del asistente de instalacin le permite descubrir las mltiples maneras de personalizar su tienda PrestaShop, tanto a nivel del aspecto como de las aplicaciones gracias a las numerosas contribuciones disponibles en addons.prestashop.com, el Marketplace de PrestaShop: www.addons.prestashop.com

12/41

PrestaShop

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

Actualizacin de PrestaShop PrecaucionesLa actualizacin es un proceso delicado que afecta a la vez a los archivos y a la base de datos de su tienda PrestaShop; por lo tanto le recomendamos que antes de actualizar su tienda se entrene en una tienda test.

Copia de seguridadCopia de seguridad de sus traduccionesPara exportar sus traducciones, utilice la herramienta del panel de administracin de PrestaShop prevista para tal efecto:

Seleccione el idioma que quiera exportar y pulse en Exportar.

Repita la operacin para cada idioma que quiera exportar.

Copia de seguridad de su base de datosHaga una copia de seguridad de su base de datos utilizando la herramienta de copia de seguridad puesta a su disposicin por su hosting (phpMyAdmin u otro).13/41

PrestaShop

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

Copia de seguridad de sus archivos PrestaShopSi su tienda PrestaShop est instalada en una subcarpeta de su sitio Web, la futura actualizacin se instalar en la misma carpeta. Para hacer una copia de los archivos de la antigua versin de su tienda, renombre de nuevo las carpetas que lo contienen. Por ejemplo, si su tienda est en una carpeta myshop: /myshop Cambie el nombre por: /myshop_old Si los archivos de su tienda estn instalados directamente en la raz del sitio Web, cree una nueva carpeta: /prestashop_old Y copie en ella el conjunto de su tienda PrestaShop.

Instalacin de la nueva versinDescargaDescargue la ltima versin final de PrestaShop en la siguiente direccin: http://www.prestashop.com/es/downloads/

Extraer y copiarExtraer el archivo descargado a su disco duro y transferirlo con ayuda de su cliente FTP a la raz de su sitio Web o a la carpeta que contiene su tienda.

Restaurar los datos a partir de una antigua versinSi ha personalizado alguno de los elementos de PrestaShop (idiomas, plantillas de emails, etc.), deber realizar de nuevo las modificaciones en la nueva instalacin a partir de la copia de seguridad que ha hecho anteriormente. Las imgenes debern restaurarse a partir de la carpeta /img de la anterior copia hacia la carpeta /img de la nueva instalacin. Tambin deber instalar de nuevo los mdulos terceros utilizados en su anterior tienda. Asegrese de que son compatibles con la nueva versin de PrestaShop. Si por alguna razn, ha modificado el archivo .htaccess, regenere un nuevo archivo .htaccess con la herramienta:

Despus aada la informacin que contena el anterior archivo .htaccess en el nuevo, suprimiendo posibles elementos que estn duplicados. Si utiliza un tema personalizado, copie la carpeta correspondiente a dicho tema a partir de la antigua versin: /myshop_old/themes/montheme hacia la nueva: /myshop/themes/montheme Copie el archivo: /myshop_old/config/settings.inc.php de su antigua tienda hacia la nueva: /myshop/config/settings.inc.php

14/41

PrestaShop

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

Instalar la actualizacinLance el asistente de instalacin a partir de su navegador aadiendo /install a la direccin de su tienda: http://www.myshop.com/myshop/install Siga el mismo proceso que para la instalacin pero esta vez marque la casilla Actualizacin en la primera etapa del asistente de instalacin.

Arquitectura generalPrestaShop es un software basado en una arquitectura tres capas, como nos muestra el siguiente esquema:

Este modelo retoma el principio de MVC ("Modelo-Vista-Controlador"), simplificndolo y hacindolo accesible a todos. Nuestro equipo tcnico ha decidido no utilizar Framework PHP (Zend Framework, Symfony, CakePHP...) para permitir una mayor visibilidad del cdigo y una modificacin ms rpida. Esto tambin permite obtener un mayor rendimiento, ya que el software contiene nicamente el cdigo PHP necesario para un funcionamiento correcto (y no un conjunto de libreras genricas). Las ventajas de la arquitectura tres capas son numerosas: La posibilidad de comprender fcilmente el cdigo fuente del software, Modificaciones rpidas y simples para los desarrolladores, La posibilidad para los grafistas/integradores de trabajar en la carpeta temas sin necesidad de comprender ni leer el cdigo PHP, La posibilidad para los desarrolladores de preparar datos y mdulos complementarios para el integrador.

15/41

PrestaShop

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

Grandes principios (Mdulos, Temas) MdulosEl conceptoEl software e-comercio PrestaShop se articula en torno a un principio de mdulos que facilita su utilizacin, su personalizacin y su extensin. Un mdulo es un complemento de PrestaShop que permite realizar las siguientes acciones: Aportar una aplicacin suplementaria a PrestaShop, Mostrar elementos suplementarios en su sitio Web (seleccin de productos, etc.), Comunicar con actores del comercio en lnea (guas de compra, plataformas de pago, responsables de logstica, ). La empresa PrestaShop propone gratuitamente con su software ms de 50 mdulos que le permiten lanzar su actividad de manera gratuita rpidamente. Ms de 400 mdulos complementarios se encuentran disponibles en www.addons.prestashop.com Estos han sido realizados por la empresa PrestaShop y/o la comunidad PrestaShop y se comercializan a un precio muy abordable. Si usted es desarrollador, tambin puede proponer mdulos en PrestaShop Addons y percibir el 70% del importe de la venta de sus creaciones.

Funcionamiento tcnico de un mduloUn mdulo se compone de: Una carpeta con el nombre del mdulo, situada en la carpeta mdulos de PrestaShop, Un archivo PHP con el nombre del mdulo, situado en la misma carpeta, Un archivo icono, logo.gif, que representa dicho mdulo, Eventualmente: archivos .tpl, que representan el tema del mdulo, Eventualmente: archivos de idioma, si ste ltimo incluye texto, Eventualmente: en una carpeta /themes/modules/, una carpeta con el mismo nombre que el mdulo que incluye los archivos TPL y archivos de idiomas si es el caso. Esta ltima carpeta es esencial para cualquier modificacin de un mdulo que ya existe, para poder adaptarlo sin que afecte al archivo de origen, y permite fundamentalmente mostrar de manera diferente un mismo mdulo segn el tema utilizado. Ejemplo con el mdulo blockinfos disponible gratuitamente en PrestaShop:

Cada mdulo PrestaShop, si ha sido instalado por el vendedor, puede intervenir en uno o varios "points d'accroche" llamados tambin "hook" en ingls. Un hook es la representacin en la vista a partir del momento16/41

PrestaShop

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

en que se efecta un tratamiento del mdulo o se muestran informaciones (ejemplo: en el carrito, la ficha producto, tras actualizar el stock). Ms concretamente un hook es un atajo hacia los diferentes mtodos del objeto Mdulo asignados al mismo.

Lista de los hooks de PrestaShopA continuacin presentamos a la lista de los 33 hooks disponibles en PrestaShop:

Front-officeInicio y entorno del sitioNombre del hook Ubicacin (archivo) header.php Visible por los internautas No Descripcin Es llamado entre las etiquetas de la pgina. Ideal parar cargar sus archivos Javascript y CSS. Es llamado en el encabezamiento de la pgina. Es llamado al cambiar la columna de la izquierda. Es llamado al cambiar la columna de la derecha. Es llamado al pie de pgina. Es llamado en el centro de la pgina de inicio.

header

top leftColumn rightColumn footer home

header.php header.php footer.php footer.php index.php

S S S S S

Ficha productoNombre del hook extraLeft extraRight productActions Ubicacin (archivo) product.php product.php product.php Visible por los internautas S S S Descripcin Es llamado justo encima "Imprimir", bajo la foto. del link

Es llamado debajo del bloque que contiene el botn "Aadir al carrito". Es llamado en el interior del bloque que contiene el botn "Aadir al carrito", bajo el botn. Es llamado en el interior del bloque que contiene el botn "Aadir al carrito", debajo de la informacin "Disponibilidad:". Es llamado encima de las pestaas. Es llamado en la lista de las pestaas como "Ms informacin", "Caractersticas", "Accesorios" Ideal para aadir una pestaa suplementaria cuyo contenido administrar el hook productTabContent. Es llamado al pulsar en una de las pestaas, ideal para mostrar el contenido correspondiente a una pestaa que ha aadido con el hook productTab.

productOutOfStock

product.php

S

productfooter

product.php

S

productTab

product.php

S

productTabContent

product.php

S

17/41

PrestaShop

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

CarritoNombre del hook cart shoppingCart Ubicacin (archivo) Clase: Cart.php order.php Visible por los internautas No S Descripcin Es llamado justo despus de crear o actualizar un carrito. Es llamado debajo del cuadro que muestra los productos contenidos en el carrito. Es llamado debajo del cuadro que muestra los productos contenidos en el carrito, debajo de los botones de navegacin. Es llamado en el formulario de creacin de una cuenta cliente, encima del bloque "Sus datos personales". Es llamado en el formulario de creacin de una cuenta cliente, encima del botn "Inscripcin". Es llamado justo despus de la creacin de una cuenta cliente. Es llamado en Inicio de la cuenta cliente, en la parte inferior de la lista de los links disponibles. Ideal para aadir un link a dicha lista. Es llamado en el bloque "Mi cuenta" en la columna de la izquierda, en la parte inferior de la lista de los links disponibles. Ideal para aadir un link a dicha lista. Es llamado justo tras la identificacin de un cliente, nicamente si sta es vlida (direccin email y contrasea correctos).

shoppingCartExtra

order.php

S

createAccountTop

authentication.php

S

createAccountForm createAccount

authentication.php authentication.php

S No

customerAccount

my-account.php

S

myAccountBlock

Mdulo: blockmyaccount.php

S

authentication

authentication.php

No

BsquedaNombre del hook Ubicacin (archivo) Clase: Search.php Visible por los internautas No Descripcin Es llamado despus de cada bsqueda. Ideal para analizar y/o optimizar las bsquedas (y resultados de bsqueda) efectuadas por sus clientes.

search

Eleccin de un transportistaNombre del hook Ubicacin (archivo) Visible por los internautas Descripcin Es llamado debajo de la lista de los transportistas disponibles en el momento del pedido. Ideal para aadir un transportista desarrollado en forma de mdulo (ejemplo: transportista punto de entrega).

extraCarrier

order.php

S

PagoNombre del hook payment Ubicacin (archivo) order.php Visible por los internautas S Descripcin Es llamado para constituir la lista de modos de pago disponibles durante el proceso de pedido. Ideal para permitir

18/41

PrestaShop

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

elegir un mdulo de pago que usted mismo haya desarrollado. Es llamado al volver a la tienda despus de un pago. Ideal para mostrar un mensaje de confirmacin y/o para aportar precisiones relativas al pago. Idntico al paymentReturn. Es llamado al volver a la tienda tras un pago. Ideal para mostrar un mensaje de confirmacin y/o para aportar precisiones relativas al pago. Es llamado al mostrar la lista de modos de pago disponibles. Ideal para redirigir al comprador en lugar de mostrarle la lista (Ejemplo: Checkout 1-click PayPal).

paymentReturn

order-confirmation.php

S

orderConfirmation

order-confirmation.php

S

backBeforePayment

order.php

No

Devolucin mercancaNombre del hook orderReturn Ubicacin (archivo) order-follow.php Visible por los internautas No Descripcin Es llamado cuando un cliente solicita una devolucin del producto, nicamente si no ha aparecido ningn error. Es llamado al mostrar una factura en formato PDF. Ideal para mostrar contenido dinmico o esttico en dicha factura.

PDFInvoice

Classe : PDF.php

S

Back-office y tratamientos anexosGeneralNombre del hook backOfficeTop Ubicacin (archivo) header.inc.php Visible por los internautas S Descripcin Es llamado en el encabezamiento, encima de las pestaas. Es llamado entre las etiquetas de la pgina. Ideal para cargar sus archivos Javascript et CSS. Es llamado a pie de pgina, encima de la indicacin "Powered By PrestaShop". Es llamado en el centro de la pgina de inicio.

backOfficeHeader

header.inc.php

No

backOfficeFooter backOfficeHome

footer.inc.php index.php

S S

Pedidos y detalle de los pedidosNombre del hook newOrder paymentConfirm updateOrderStatus postUpdateOrderStatus Ubicacin (archivo) Classe : PaymentModule.php Classe : Hook.php Classe : OrderHistory.php Classe : OrderHistory.php Visible por los internautas No No No No Descripcin Es llamado al crear un nuevo pedido , tras la creacin. Es llamado cuando el estado de un pedido pasa a "Pago aceptado". Es llamado al cambiar el estado de un pedido, antes del cambio. Es llamado al cambiar el estado de un pedido, tras el cambio.

19/41

PrestaShop

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

cancelProduct invoice

AdminOrders.php AdminOrders.php

No S

Es llamado al suprimir un producto de un pedido, tras la supresin. Es llamado en el detalle de un pedido, antes del bloque relativo a los datos del cliente. Es llamado en el detalle de un pedido, tras el bloque relativo a los datos del cliente. Es llamado al crear un vale, tras la creacin.

adminOrder orderSlip

AdminOrders.php AdminOrders.php

S No

ProductosNombre del hook addproduct updateproduct deleteproduct updateQuantity updateProductAttribute watermark Ubicacin (archivo) AdminProducts.php AdminProducts.php Clase: Product.php Clase: PaymentModule.php Clase: Product.php AdminProducts.php Visible por los internautas No No No No No No Descripcin Es llamado al crear o duplicar un producto, tras la creacin/duplicacin. Es llamado al actualizar un producto con una nueva foto, tras la actualizacin. Es llamado al suprimir un producto, antes de suprimirlo. Es llamado al validar un pedido cuyo estado no es "Anulado" o "Error de pago", para cada producto del pedido. Es llamado al actualizar una declinacin de producto, tras la actualizacin. Es llamado al aadir una imagen a un producto, despus de aadirlo.

EstadsticasNombre del hook GraphEngine GridEngine AdminStatsModules Ubicacin (archivo) Clase: ModuleGraph.php ModuleGridEngine.ph p AdminStatsTab.php Visible por los internautas S S S Descripcin Es llamado al mostrar un grfico de estadsticas. Es llamado al mostrar una lista de datos estadsticos. Es llamado al mostrar la lista de los mdulos de estadsticas.

ClientesNombre del hook adminCustomers Ubicacin (archivo) AdminCustomers.php Visible por los internautas S Descripcin Es llamado en el detalle de un cliente, tras la lista de los grupos de clientes a la que pertenece.

TransportistasNombre del hook updateCarrier Ubicacin (archivo) AdminCarriers.php Visible por los internautas No Descripcin Es llamado en el momento de actualizar un transportista, tras la actualizacin.

Al mostrar una pgina del sitio de venta en lnea, el motor PrestaShop comprueba, para cada uno de los hooks que la componen, qu mdulos debe llamar.

20/41

PrestaShop

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

A continuacin presentamos un recapitulativo de la arquitectura modular de PrestaShop:

TemasEl conceptoEl software e-comercio PrestaShop propone un sistema de temas para permitir a los vendedores de venta en lnea una personalizacin con los colores de la tienda. Este sistema se articula en torno a un motor de plantillas llamado Smarty (http://www.smarty.net). Este ltimo permite a los integradores desarrollar fcilmente, sin conocimientos tcnicos especficos, sus propios temas. PrestaShop propone en estndar un tema neutro, con tonos grises, que permite desarrollar de manera sencilla y gratuita cualquier sector de actividad. Ms de 100 temas PrestaShop se encuentran disponibles en el sitio www.addons.prestashop.com Estos han sido realizados por la empresa PrestaShop y/o la comunidad PrestaShop y se comercializan a un precio muy abordable. Si usted es grafista/integrador, tambin puede proponer temas en PrestaShop Adons y percibir el 70% del importe de la venta de sus creaciones.

Funcionamiento tcnico de un temaUn tema PrestaShop es un conjunto de archivos que permiten modificar el aspecto de su tienda. A continuacin le presentamos la principal informacin que debe tener en cuenta: Todos los archivos relativos a un tema grfico se encuentran en la carpeta /temas. Cada tema est representado por una subcarpeta que lleva su nombre. h Cada tema est formado por archivos plantillas (.tpl), imgenes (.gif, .jpg, .png), y una o varias hojas de estilo CSS y a veces archivos JS. Cada tema incluye un archivo preview.jpg en su carpeta, lo que permite al vendedor en lnea visualizar el tema en el Back-office y tambin seleccionarlo.

21/41

PrestaShop

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

As se presenta la arborescencia de un tema PrestaShop: La carpeta css contiene los archivos relativos a los estilos CSS del tema. La carpeta img contiene los archivos relativos a las imgenes del tema. La carpeta js contiene los archivos relativos a la Javascript del tema. La carpeta lang contiene las traducciones del tema. No se olvide de incluir los derechos correspondientes (ej: CHMOD 666) para que la herramienta de Back-office pueda guardar las traducciones. La raz del tema contiene nicamente los archivos .tpl (plantillas Smarty) as como el archivo preview.jpg. Nota: las carpetas css, img y js no son indispensables para el funcionamiento de un tema personalizado.

La gestin de las traduccionesPara la totalidad de los textos contenidos en sus archivos .tpl, debe incluir la siguiente etiqueta: {l s='Mon texte'} Esto le permitir traducir fcilmente dichos textos a travs de la pestaa:

seccin Modificar las traducciones del Back-office PrestaShop.

Transmitir informaciones (datos) a un tema PrestaShopA continuacin presentamos un esquema del funcionamiento de la transmisin de datos entre el corazn de PrestaShop y los temas PrestaShop. Llamar a la aplicacin l, en hello.tpl, permite mostrar el texto en el idioma seleccionado, si se ha traducido como se ha indicado anteriormente.

22/41

PrestaShop

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

La arborescencia de PrestaShopNuestro equipo tcnico ha querido separar de manera clara e intuitiva los diferentes elementos del software. A continuacin presentamos cada carpeta de la arborescencia de PrestaShop: admin: contiene la totalidad de los archivos relativos al Back-office de PrestaShop. Para ms seguridad ser necesario renombrarlo tras haber instalado PrestaShop. Importante: le recomendamos que proteja esta carpeta a travs de un archivo n.htaccess/.htpasswd classes: contiene la totalidad de los archivos relativos al modelo objeto de PrestaShop. Cada archivo representa una clase (un objeto) y sus propiedades/mtodos. config: contiene los archivos de configuracin de PrestaShop. Salvo caso excepcional, no debe editarlos manualmente, ya que estn administrados por la herramienta de instalacin y el Back-office. css: contiene los archivos CSS que no son relativos a los temas. Se trata por ejemplo de los archivos CSS del Back-office. docs: contiene documentacin y debe suprimirse si trabaja en un entorno de produccin. download: contiene sus productos desmaterializados (ejemplo: pdf, mp3). img: contiene la totalidad de las imgenes, iconos y fotos de PrestaShop, excepto los de los temas. En ella encontrar las fotos de las categoras de producto (subcarpeta c), las de los productos (subcarpeta p) e incluso las del Back-office (subcarpeta admin). install: contiene la totalidad de los archivos relativos a la herramienta de instalacin de PrestaShop. Deber suprimirlo una vez haya instalado PrestaShop para ms seguridad. js: contiene los archivos Javascript que no son relativos a los temas. Se trata por ejemplo de los archivos Javascript del Back-office. Tambin contiene el framework Javascript jQuery. mails: contiene la totalidad de los archivos HTML y TXT relativos a los emails enviados desde PrestaShop. Existe una subcarpeta por idioma disponible. Si desea modificar el contenido de un email, deber ir a esta carpeta para editarlo manualmente.23/41

PrestaShop

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

modules: contiene una subcarpeta por mdulo disponible. Si desea desinstalar definitivamente un mdulo, comience por desinstalarlo a travs del Back-office de PrestaShop antes de suprimir su subcarpeta. themes: contiene una subcarpeta por tema disponible. tools: contiene herramientas externas integradas en PrestaShop. En elle encontramos fundamentalmente las siguientes herramientas: Smarty (motor de plantilla/tema), FPDF (motor de generacin de archivos PDF), Swift (motor de envo de emails), PEAR Xml parser (herramienta PHP). translations: contiene una subcarpeta por idioma disponible. Si desea modificar las traducciones, deber hacerlo a travs del Back-office de PrestaShop y no directamente en dichas carpetas. upload: contiene los archivos transmitidos por los clientes durante la compra de productos personalizables (ejemplo: la foto de un cliente para imprimirla en una taza).

Buenos hbitos que deben respetarse (desarrolladores, integradores)A continuacin presentamos una lista de buenas costumbres que deben respetarse: 1. Durante la creacin de un tema, no mezcle nunca los cdigos XHTML y PHP. 2. Durante la creacin de un tema, no mezcle nunca los cdigos XHTML y CSS, coloque su cdigo en un archivo CSS separado. 3. No efecte nunca una bsqueda SQL en un controlador PHP (archivos .php en la raz de PrestaShop), privilegie el uso de los mtodos existentes en las clases PHP y/o cree nuevos mtodos en dichas clases. 4. Valide su cdigo XHTML y su cdigo CSS gracias al validador W3C http://validator.w3.org/. 5. Compruebe sistemticamente si no existe ya un mtodo en las clases. 6. No modifique los archivos del corazn de PrestaShop, desarrllelos bajo la forma de mdulos para facilitar las actualizaciones. 7. Respete las normas de cdigos para un cdigo legible y de fcil mantenimiento. 8. Comente su cdigo, en ingls. 9. Ponga la tienda en mantenimiento a travs del Back-office de PrestaShop cuando efecte correcciones. 10. Utilice el navegador Firefox o Google Chrome e incite a la gente de su entorno a hacer lo mismo. 11. No dude en hacer una donacin a PrestaShop si est satisfecho de sus servicios.

Securizar su instalacin PrestaShopA continuacin le damos algunos consejos para que su tienda PrestaShop sea ms segura. Se presentan por orden de prioridad: 1. Securice su acceso al Back-office PrestaShop : a. Renombre la carpeta admin tras la instalacin de PrestaShop, elija un nombre de carpeta ms complicado, con una mezcla de cifras y letras, b. Proteja dicha carpeta con un archivo .htaccess/.htpasswd, o pida a su hosting que lo haga por usted, c. No guarde sus claves de acceso en su ordenador, d. Elija una contrasea compleja (mezcla de cifras y letras) y modifquela con frecuencia. 2. Securice su instalacin de PHP : a. La opcin "register_globals" debe configurarse en "Off", b. La opcin "magic_quotes" debe configurarse en "Off", c. La opcin "allow_include_url" debe configurarse en "Off". 3. Suprima sistemticamente la carpeta install tras la instalacin o actualizacin de PrestaShop. 4. Suprima sistemticamente los archivos intiles tras la instalacin o actualizacin de PrestaShop: a. readme_fr.txt, readme_en.txt, readme_es.txt, b. CHANGELOG, c. carpeta docs. 5. Prohba el acceso a sus archivos de tema (templates), gracias a un archivo .htaccess que incluya el siguiente cdigo:24/41

PrestaShop order deny,allow deny from all

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

Opciones de configuracin y fine-tuning/performancesEste prrafo le permite descubrir las variables de configuracin de PrestaShop que no se administran desde el Back-office sino directamente en el seno de los archivos de configuracin. En PrestaShop, hay cuatro archivos de configuracin: config/config.inc.php : contiene la configuracin del corazn de PrestaShop. Este archivo debe editarse manualmente. config/defines.inc.php : contiene la definicin de las constantes. Anteriormente se encontraban en el archivo settings.inc.php. config/settings.inc.php : contiene los accesos a la base de datos as como su nmero de versin. Este archivo se administra directamente desde el Back-office de PrestaShop y la herramienta de instalacin. config/smarty.config.inc : contiene la configuracin relativa a la herramienta Smarty (motor de template/tema). Este archivo debe editarse manualmente.

Archivo config.inc.php Si se encuentra en modo produccin, recuerde que debe dejar @ini_set('display_errors', 'Off'); en Off. Por el contrario, si se encuentra en fase de desarrollo, le ser til pasar a On para detectar posibles errores. Si se encuentra en modo produccin, recuerde que debe dejar define('_PS_DEBUG_SQL_', false); en false. Por el contrario, si se encuentra en fase de desarrollo, le ser til pasar a true para detectar posibles errores.

Archivo defines.inc.php Este archivo contiene la totalidad de los emplazamientos de los archivos, a travs del mtodo PHP define(). Si desea modificar esos emplazamientos, no se olvide de modificar las lneas correspondientes.

Archivo smarty.config.inc.php El sistema de cache de Smarty ($smarty->caching) se encuentra desactivado ya que no es compatible con el motor dinmico de PrestaShop. IMPORTANTE: el parmetro $smarty->force_compile, debe pasarse a false cuando tiene un sitio Web en produccin. Esto le permitir ganar hasta 30% de tiempo al cargar las pginas. En contrapartida, al modificar el archivo .tpl, deber suprimir el contenido de la carpeta /tools/smarty/compile/ (sauf index.php). El parmetro $smarty->compile_check debe dejarse en false. El parmetro $smarty->debugging le permite beneficiarse de informaciones de DEBUG Smarty al mostrar sus pginas.

Mejora de las prestaciones de PrestaShopA continuacin le damos algunos consejos que le permitirn optimizar las prestaciones de su instalacin PrestaShop. Active el cache MySQL (o pida a su hosting que lo active) y configrelo en un valor bastante elevado (ejemplo : 256M). No se olvide de pasar d $smarty->force_compile a false (leer el prrafo "Archivo smarty.config.inc.php"). Utilice tcnicas avanzadas de integracin tales como Spriting CSS: http://www.alistapart.com/articles/sprites25/41

PrestaShop

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

Reparta sus elementos estticos en subdominios diferentes para paralelizar los flujos http de los visitantes. Para ello, vaya al archivo config/defines.inc.php y aada lo siguiente:

if ($_SERVER['REMOTE_ADDR'] != '127.0.0.1') { define('_THEME_IMG_DIR_', 'http://img2.xxx.com/'); define('_THEME_CSS_DIR_', 'http://css.xxx.com/'); define('_THEME_JS_DIR_', 'http://js.xxx.com/'); define('_THEME_CAT_DIR_', 'http://img1.xxx.com/c/'); define('_THEME_PROD_DIR_', 'http://img1.xxx.com/p/'); define('_THEME_MANU_DIR_', 'http://img1.xxx.com/m/'); define('_PS_IMG_', 'http://img1.xxx.com/'); define('_PS_ADMIN_IMG_', 'http://img1.xxx.com/admin/');

} else { define('_THEME_IMG_DIR_', _THEMES_DIR_._THEME_NAME_.'/img/'); define('_THEME_CSS_DIR_', _THEMES_DIR_._THEME_NAME_.'/css/'); define('_THEME_JS_DIR_', _THEMES_DIR_._THEME_NAME_.'/js/'); define('_THEME_CAT_DIR_', __PS_BASE_URI__.'img/c/'); define('_THEME_PROD_DIR_', __PS_BASE_URI__.'img/p/'); define('_THEME_MANU_DIR_', __PS_BASE_URI__.'img/m/'); define('_PS_IMG_', __PS_BASE_URI__.'img/'); define('_PS_ADMIN_IMG_', _PS_IMG_.'admin/'); }

Instale un cache de opcode (o pida a su hosting que lo haga), PrestaShop es compatible con eAccelerator: http://www.eaccelerator.net/. Esto le permitir ganar en trminos de carga de procesador.

Prcticas Crear un tema PrestaShopTema por defecto PrestaShopEl tema por defecto de PrestaShop es lo bastante sencillo para adaptarse a cualquier sector del comercio en lnea. Adems, este tema respeta escrupulosamente las normas del W3C y fue optimizado para mostrarse correctamente con todos los navegadores ms utilizados. Sin embargo, es posible modificar el tema de su tienda, para adaptarlo mejor a su actividad. Lo ms sencillo es partir de un tema ya existente.

Crear un nuevo temaLos temas se encuentran en la carpeta /themes/ ; es ah donde debern ponerse los diferentes temas que pueden aplicarse a la tienda. Tambin aparece una subcarpeta prestashop que corresponde al tema PrestaShop por defecto. Partiremos de ese tema para crear otros. No obstante, le aconsejamos que conserve intacto el tema por defecto de PrestaShop. Una de las razones es que la modificacin del tema puede generar errores y el hecho de sustituir temporalmente el tema personalizado por el tema PrestaShop por defecto permite comprobar si el problema proviene del tema personalizado o no. Si el problema desaparece con el tema PrestaShop por defecto, significa que el tema personalizado ha generado el problema. Empecemos por duplicar la carpeta /themes/prestashop/ y nombrarla, por ejemplo, /themes/montheme/. De esta manera, el tema por defecto se mantiene intacto.26/41

PrestaShop

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

Arborescencia de un temaArchivo / Carpeta Descripcin Imagen utilizada como previsualizacin en el apartado de la pgina Panel de administracin >> Preferencias >> Apariencia. La presencia de esta imagen es obligatoria, si no, el tema no puede seleccionarse en este apartado. Pgina mostrada cuando la pgina solicitada no se encuentra (erreur 404). Pgina para aadir o modificar una direccin cliente. Pgina que lista las direcciones de un cliente. Pgina de identificacin y de creacin de cuenta. Pgina que lista las mejores ventas. Camino de navegacin (raz de navegacin). Utilizado nicamente para el bloque Categoras. Pgina que lista los productos en el seno de una categora. Pginas informativas (pestaa Outil >> CMS del BO). Pgina del formulario de contacto. Pgina que lista los vales descuento de un cliente. Es llamado por la totalidad de las pginas. Muestra los errores. Pie de pgina. Encabezado. Pgina que lista los pedidos de un cliente. Pgina de modificacin de los datos personales de un cliente. Pgina de inicio. Pgina de mantenimiento del sitio. Pgina que lista los fabricantes. Pgina que lista los productos de un fabricante. Pgina de inicio de cuenta de un cliente. Pgina que lista los productos aadidos recientemente. Pgina del proceso de pedido: Etapa 1 Eleccin de las direcciones (entrega, facturacin). Pgina del proceso de pedido: Etapa 2 eleccin del modo de entrega. Pgina de confirmacin de pedido (despus del pago). Pgina de detalle del pedido de un cliente. Pgina de solicitud de devolucin por parte de un cliente. Pgina del proceso de pedido: Etapa 3 elegir modo de pago. Pgina de detalle de la devolucin de un cliente. Pgina que lista los vales de un cliente. Barra de evolucin del proceso de pedido. Es llamado por todas las pginas que listan productos. Botones que permiten cambiar de pgina en una lista de productos. Pgina de cambio de contrasea de un cliente. Pgina que lista los descuentos. Es llamado por todas las pginas que listan productos. Lista de los productos. Es llamado por todas las pginas que listan productos. Men que permite filtrar una lista de productos. Pgina de detalle de un producto. Pgina de detalle de una escena en una categora de productos. Pgina que lista los resultados de una bsqueda. Pgina de detalle de una lnea del carrito. Pgina que lista los productos en el carrito de un cliente. Pgina de plano del sitio Web.27/41

preview.jpg

404.tpl address.tpl addresses.tpl authentication.tpl best-sales.tpl breadcrumb.tpl category-tree-branch.tpl category.tpl cms.tpl contact-form.tpl discount.tpl errors.tpl footer.tpl header.tpl history.tpl identity.tpl index.tpl maintenance.tpl manufacturer-list.tpl manufacturer.tpl my-account.tpl new-products.tpl order-address.tpl order-carrier.tpl order-confirmation.tpl order-detail.tpl order-follow.tpl order-payment.tpl order-return.tpl order-slip.tpl order-steps.tpl pagination.tpl password.tpl prices-drop.tpl product-list.tpl product-sort.tpl product.tpl scenes.tpl search.tpl shopping-cart-productline.tpl shopping-cart.tpl sitemap.tpl

PrestaShop

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

supplier-list.tpl supplier.tpl thickbox.tpl css

img js

lang

Pgina que lista los proveedores. Pgina que lista los productos de un proveedor. Pgina de zoom de la foto de un producto. Contiene las hojas de estilo del tema. El archivo global.css incluye los elementos para dar forma a la mayor parte del sitio Web. Excepto si es un usuario avanzado, le recomendamos que deje los archivos de origen. Contiene las imgenes del tema. Sustituye las imgenes adecuadas por sus propias creaciones. Excepto si es un usuario avanzado, le recomendamos que deje los archivos de origen. Scripts JavaScript utilizados en el tema. Excepto si es un usuario avanzado, le recomendamos que deje los archivos de origen. Archivos de traduccin. Estos archivos son generados por el Back Office y su contenido debe modificarse a partir de la herramienta Panel de Administracin >> Herramientas >> Traducciones, apartado Modificar las traducciones.

Tema de los mdulosAlgunos mdulos poseen sus propios archivos .tpl. Si usted crea su propio tema, tambin deber adaptar el de los mdulos. Es posible hacer esta operacin sin modificar los archivos originales de los mdulos. Para ello, en la carpeta de su tema, cree una carpeta mdulos: /themes/montheme/modules/ Y copie en ella los mdulos que va a modificar. Conserve nicamente en estas carpetas los archivos .tpl que podr modificar en funcin de sus necesidades. Dichos elementos se utilizarn prioritariamente sobre los originales.

Consejos para editar un tema PrestaShopFirebugPara simplificarle el trabajo de integracin, le recomendamos que se familiarice con add-on Firebug para Firefox, que le permitir delimitar rpidamente cada bloque y mostrar las propiedades CSS que se aplican a cada uno. Link til: http://www.prestashop.com/forums/viewthread/16736

JavaScriptLas aplicaciones JavaScript deben archivarse en la carpeta js.

Archivo preview.jpgUna vez que haya terminado su tema, no olvide hacer una captura de pantalla, redimensionarla y copiar el archivo en lugar del archivo preview.jpg que ya se encuentra presente en el tema. Para hacer una captura de pantalla de una pgina Web completa de un tamao superior a la imagen, puede resultar muy prctico recurrir a un add-on de Firefox como FireShot o ScreenGrab.

Normas W3C y compatibilidad inter-navegadoresEs aconsejable comprobar la compatibilidad de las pginas de su tema con las normas del W3C con ayuda del validador propuesto por este organismo en la pgina: http://validator.w3.org/. Para terminar, haga un test para mostrar las diferentes pginas de su tema en los navegadores ms utilizados (Firefox, Internet Explorer, Chrome, Safari, Opera).

28/41

PrestaShop

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

Crear un mdulo PrestaShopPrincipio de los mdulosLos mdulos son ideales para dar rienda suelta a su imaginacin y a su talento de desarrollador, ya que las posibilidades de creacin son numerosas. Los mdulos pueden mostrar contenido (bloques, texto, etc.), realizar tratamientos (actualizaciones en masa, importar, exportar, etc.), entrar en interfaz con otros programas, etc. Se pueden crear mdulos ms o menos configurables. Cuanto ms se pueda configurar, ms sencillo ser su uso y por lo tanto responder a las necesidades de un mayor nmero de personas. Uno de los principales intereses de un mdulo es aadir a la solucin aplicaciones sin modificar la base de la misma, para facilitar una futura actualizacin que borrara las modificaciones aportadas a la base. Es la razn por la que, en la medida de lo posible, el desarrollo de un mdulo deber evitar al mximo la modificacin del corazn de la solucin, aunque, a veces, sea desafortunadamente inevitable para el desarrollo de ciertas aplicaciones.

Arborescencia de los mdulosLa solucin PrestaShop contiene una carpeta /modules en las que se agrupan todos los mdulos. Se trata tanto de los mdulos integrados a la solucin como mdulos terceros aadidos posteriormente. Cada mdulo est archivado en una subcarpeta distinta en el interior de la carpeta /modules (bankwire, birthdaypresent, etc.).

Estructura de base de un mduloLa estructura de base es sencilla y similar para cada mdulo, lo que facilita la implementacin de nuevos mdulos. Para describirla, vamos a crear un mdulo rudimentario. Este ejemplo se crear voluntariamente en ingls, ya que por una parte es interesante acostumbrarse a desarrollar en ingls y por otra parte, puesto que el sistema de traduccin de PrestaShop es muy flexible, ser muy fcil hacer la traduccin del mdulo. Veremos ese apartado ms adelante. Llamaremos al mdulo "My module". Para empezar a crear un mdulo, empecemos por crear la carpeta que lo va a contener. Esta se llamar como el nombre que queramos dar al mdulo. Este nombre debe estar compuesto nicamente por cifras, letras, guiones y parntesis (-_) todo en minsculas. Esta carpeta debe contener un archivo PHP responsable del tratamiento de datos. Tendr el mismo nombre que la carpeta padre.29/41

PrestaShop

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

Este archivo es suficiente para crear un mdulo bsico. Otros archivos y subcarpetas podrn completarlo ms tarde. Un archivo TPL ser til en el caso de mostrar datos en el Front Office. Los archivos TPL deben estar situados en la raz del mdulo. Los archivos TPL pueden tener cualquier nombre. Cuando slo hay uno, se llama a menudo como el mdulo, pero es conveniente acostumbrarse a darles nombres explcitos.

El archivo mymodule.php va a contener la clase de nuestro mdulo. Esta tendr el mismo nombre que el mdulo, y por lo tanto que el repertorio padre. Adems, esta clase hereda de la clase Mdulo (/classes/Module.php) o de cualquier clase derivada (PaymentModule, ModuleGridEngine, ModuleGraph) poniendo as a nuestra disposicin algunas propiedades y mtodos.Fichier mymodule.php

public function install() { if(parent::install() == false) return false; return true; }

public function __construct()

Constructor de la clase.$this->name = 'mymodule';

Atribucin de un nombre a nuestra instancia de clase.$this->tab = 'Test';

Ttulo del cuadro que contendr el mdulo en la lista de mdulos del Back Office. Puede tratarse de un nombre que ya existe (Products, Blocks, Stats) o de un nombre personalizado. En este ltimo caso, se crear un nuevo cuadro con dicho ttulo.$this->version = '1.0';

Nmero de versin del mdulo, mostrado en la lista de mdulos.parent::__construct();

Llamar al constructor padre. Debe llamarse al constructor obligatoriamente antes de la utilizacin de los mtodos $this->l() y una vez se haya guardado el nombre. En antiguas versiones de PrestaShop (< 1.3) aparece lo siguiente:$this->page = basename(__FILE__, '.php');

Permite recuperar el nombre del archivo, sin la extensin '.php'. __FILE__ es una costante mgica que contiene el camino y el nombre del archivo (desde PHP 4.0.2, __FILE__ contiene siempre el camino absoluto). La funcin basename() separa el nombre el archivo del resto del camino, y el argumento '.php' sirve para suprimir dicho prefijo.

30/41

PrestaShop

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

$this->displayName = $this->l('My module');

Nombre del mdulo mostrado en la lista de mdulos del Back Office. Veremos ms adelante como traducir el texto 'My module'. El llamamiento al mtodo l() se explica ms adelante, en el prrafo "Traduccin de los mdulos ".$this->description = $this->l('Description of my module.');

Descripcin del mdulo mostrado en la lista de mdulos del Back Office. El llamamiento al mtodo l() se explica ms adelante, en el prrafo "Traduccin de los mdulos ".public function install() { if(parent::install() == false) return false; return true; }

Tal cual, este mtodo no es imprescindible, ya que lo nico que hace es comprobar la devolucin del mtodo install() de la clase Module.php. Por otra parte, si este mtodo estuviera ausente, el mtodo de la clase madre sera llamado automticamente y el resultado sera el mismo. No obstante, mencionamos este mtodo aqu, ya que nos servir para hacer controles y otras acciones durante la instalacin del mdulo (creacin de tablas, copia de archivos, creacin de variables de configuracin, etc.). De la misma manera, el mdulo podr contener un mtodo uninstall() que permita personalizar la desinstalacin del mdulo. Un ejemplo de utilizacin de este mtodo:public function uninstall() { Db::getInstance()->Execute('DELETE FROM `'._DB_PREFIX_.'block_cms` WHERE `id_block` ='.intval($this->id)); parent::uninstall(); }

Para terminar nuestro mdulo de base, vamos a aadir un icono al lado del nombre del mdulo en la lista de los mdulos. Para ello, basta con poner una imagen 16x16 en la carpeta del mdulo y llamarla logo.gif. El sitio http://www.famfamfam.com/lab/icons/silk/ propone una gran biblioteca de iconos gratuitos. A continuacin, en la pestaa Panel de administrador >> Mdulos, el resultado obtenido con el cdigo anterior.

Un clic en el botn llama al mtodo install() del mdulo que llama a su vez al mtodo install() de la clase Module.php que aade a su vez una ocurrencia a la tabla ps_module.

Configuracin de un mduloComo decamos anteriormente, es posible hacer mdulos configurables y por lo tanto adaptables a las necesidades de un gran nmero de usuarios. Para permitir el acceso a la interfaz de configuracin de un mdulo, hay que aadir una funcin getContent() a la clase de nuestro mdulo.Fichier mymodule.php (extrait) public function getContent () { // Instructions de la page de configuration }

El simple hecho de aadir esta funcin provoca la aparicin de un enlace >> Configurar.31/41

PrestaShop

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

Trasladar un mduloPara que un mdulo se traslade a un lugar en el Front Office o en el Back Office, por ejemplo, para mostrar un bloque o para ejecutar un tratamiento en un momento determinado, hay que permitirle utilizar uno de los hooks que hemos visto anteriormente. Para ello, vamos a modificar el cdigo de nuestro mdulo de la siguiente manera:Fichier mymodule.php (extrait) public function install() { if(parent::install() == false OR !$this->registerHook('leftColumn')) return false; return true; } public function hookLeftColumn($params) { global $smarty; return $this->display(__FILE__, 'mymodule.tpl'); } public function hookRightColumn($params) { return $this->hookLeftColumn($params); } if(parent::install() == false OR !$this->registerHook('leftColumn'))

Si la instalacin o el traslado falla, se comunica el fracaso al corazn.public function hookLeftColumn($params) { global $smarty; return $this->display(__FILE__, 'mymodule.tpl'); }

Este mtodo permite que se muestre el aspecto final en la columna de la izquierda del Front Office.public function hookRightColumn($params) { return $this->hookLeftColumn($params); }

Este mtodo permite que se muestre el aspecto final en la columna de la derecha del Front Office. Consiste simplemente en llamar a la funcin hookLeftColumn(). A partir de este momento ya es posible trasladar este mdulo al hook que se desee y en el lugar que se quiera en dicho hook. La eleccin del o de los hooks a los que se va a trasladar el mdulo se hace en la pestaa Panel de administracin >> Mdulos >> Posiciones del Back Office.

Pulse en Trasladar un mdulo, en el campo Mdulo seleccionar el mdulo que se va a trasladar, en este caso "My module" y en el campo Trasladar el mdulo a elegir "Left column blocks" , despus pulsar en guardar para validar.

32/41

PrestaShop

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

Atencin: es intil trasladar un mdulo a un hook para el que no se ha implementado ningn mtodo. Volver a la pgina Panel de administracin >> Mdulos >> Posiciones, y en el cuadro "Left column blocks" desplazar el recuadro "My module" hacia el lugar deseado, con ayuda de las flechas o con un arrastrar-colocar.

Mostrar un mduloNuestro mdulo necesita mostrar algo en la columna de la izquierda del Front Office.

33/41

PrestaShop

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

Como nos muestra Firebug, la columna de la izquierda de PrestaShop est materializada por una etiqueta con el nombre de "left_column". La funcin hookLeftColumn() va a mostrar como aparece nuestro mdulo en esta div. Como ya hemos visto, el archivo que contiene los elementos que van a mostrarse es, en nuestro caso, el archivo mymodule.tpl que hemos pasado en parmetros del mtodo display() en el mtodo hookLeftColumn().return $this->display(__FILE__, 'mymodule.tpl');

Editemos el archivo mymodule.tpl para aadir el siguiente contenido:Fichier mymodule.tpl (extrait) Welcome!

34/41

PrestaShop

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

  • Click me!

Al cargar de nuevo la pgina del Front Office, vemos aparecer el mdulo.

De momento el hiperlink no conduce a ninguna parte. Para hacer un test, basta con crear el archivo mencionado en mymodule.tpl, es decir un archivo mymodule_page.php en nuestra carpeta mymodule, y aadir texto.Fichier mymodule_page.php Welcome to my shop!

Un clic en el link nos conduce a nuestra pgina, pero el aspecto no es muy "PrestaShop".

Por lo tanto, vamos a crear un archivo mymodule_page.tpl, en el que copiaremos el contenido de nuestro archivo mymodule_page.php, que en nuestro caso es:Fichier mymodule_page.tpl Welcome to my shop!

Nota: le recomendamos que nombre sus archivos TPL con nombres explcitos para encontrarlos ms fcilmente en el Back Office de PrestaShop posteriormente (en especial a nivel de las traducciones). Y en el archivo mymodule_page.php, vamos por supuesto a llamar al archivo TPL de nuevo para que Smarty se encargue de mostrarlo, pero tambin vamos a provocar la llamada de archivos TPL encargados de mostrar el resto de la interfaz del Front Office, es decir los archivos header.tpl y footer.tpl. El cdigo de nuestro archivo pasa as a:Fichier mymodule_page.php global $smarty;

Recupera la instancia corriente de Smarty. Debe hacerse antes del primer display().include('../../config/config.inc.php');

Carga la configuracin de PrestaShop.include('../../header.php');

35/41

PrestaShop include('../../footer.php');

Documentacin: documentacin tcnica de PrestaShop

v1.0 16 diciembre 2010

Llamada de los archivos PHP encargados de mostrar el resto del formato, en especial afectando a cada variable Smarty que corresponde a los hooks, su contenido. Estos archivos llaman respectivamente a header.tpl y a footer.tpl que hacen posible el aspecto final.$smarty->display(dirname(__FILE__).'/mymodule_page.tpl');

Llamada de nuestro archivo mymodule_page.tpl para mostrarlo. Si cargamos de nuevo la pgina del Front Office, el resultado es mucho ms atractivo! ;-)

Utilizacin de SmartySmarty es el motor de plantillas utilizado en PrestaShop. Recorre los archivos TPL en bsqueda de elementos dinmicos para sustituirlos por los datos adecuados antes de mostrar el resultado obtenido. Dichos elementos aparecen entre llaves { }. El usuario puede crear sus propias variables y usarlas en los archivos TPL. Por ejemplo, en el archivo mymodule_page.php, se crea una variable.Fichier mymodule_page.php