41
PrestaShop Documentación:  documentación técnica de PrestaShop v1.0  16 diciembre 2010 1/41 v 1.0

Prestashop Techguide Es

Embed Size (px)

Citation preview

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    1/41

    v 1.0

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    2/41

    Documentacin Documentacin tcnica de la

    Solucin e-comercio open-source PrestaShop

    DEFINICIONES................................................................................................................................................... 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 ....................................................................................................................................... 7 En qu idioma quiere efectuar la instalacin? ............................................................................................................ 7 Mtodo de instalacin .................................................................................................................................................. 7

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

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

    Etapa 4 Configuracin de la tienda ............................................................................................................ 10 Nombre 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 .................................................................................................................................................... 16

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    3/41

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

    Firebug ........................................................................................................................................................................ 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]

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    4/41

    Documentacin Documentacin tcnica de la

    solucin e-comercio open-source PrestaShop

    Definiciones Back 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 proyecto PrestaShop 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, ).

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    5/41

    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 tcnicos PrestaShop 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

    Software URL

    Linux XAMPP http://www.apachefriends.org/fr/xampp.html

    Mac MAMP http://www.mamp.info/en/index.html

    Windows WAMP http://www.wampserver.com/

    EasyPHP http://www.easyphp.org/

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

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    6/41

    Descargar PrestaShop El 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 instalacin Una 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 permisos Asegrese 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 datos En 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.

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    7/41

    Sensibilizacin a las copias de seguridad Porque 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 instalacin Lanzar 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 Bienvenido

    En 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 instalacin Para 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.

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    8/41

    Etapa 2 Compatibilidad del sistema

    Por favor, asegrese de que ha validado los siguientes parmetros Todos 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 opcionales Todos 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 sistema Para 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

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    9/41

    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,

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    10/41

    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 emails Para 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 tienda

    Nombre de la tienda Escriba 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 defecto Elija el pas que se utilizar por defecto en su tienda.

    Logo de la tienda Pulse 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).

    Nombre Nombre del administrador de la tienda.

    Apellido Apellido del administrador de la tienda.

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

    Contrasea de la tienda Contrasea 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.

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    11/41

    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.

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    12/41

    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: http://127.0.0.1/shop/admin por: http://127.0.0.1/shop/admin567

    Sustituir: http://myshop.com/shop/admin por: 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 tienda Para 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

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    13/41

    Actualizacin de PrestaShop

    Precauciones La 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 seguridad

    Copia de seguridad de sus traducciones Para 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 datos Haga 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).

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    14/41

    Copia de seguridad de sus archivos PrestaShop Si 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 versin

    Descarga Descargue la ltima versin final de PrestaShop en la siguiente direccin: http://www.prestashop.com/es/downloads/

    Extraer y copiar Extraer 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 versin

    Si 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

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    15/41

    Instalar la actualizacin Lance 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 general PrestaShop 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.

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    16/41

    Grandes principios (Mdulos, Temas)

    Mdulos

    El concepto El 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 mdulo Un 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 momento

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    17/41

    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 PrestaShop A continuacin presentamos a la lista de los 33 hooks disponibles en PrestaShop:

    Front-office Inicio y entorno del sitio

    Nombre del hook Ubicacin (archivo)

    Visible por los internautas

    Descripcin

    header header.php No

    Es llamado entre las etiquetas de la pgina. Ideal parar cargar sus archivos Javascript y CSS.

    top header.php S Es llamado en el encabezamiento de la pgina.

    leftColumn header.php S Es llamado al cambiar la columna de la izquierda.

    rightColumn footer.php S Es llamado al cambiar la columna de la derecha.

    footer footer.php S Es llamado al pie de pgina.

    home index.php S Es llamado en el centro de la pgina de inicio.

    Ficha producto

    Nombre del hook Ubicacin (archivo)

    Visible por los internautas

    Descripcin

    extraLeft product.php S Es llamado justo encima del link "Imprimir", bajo la foto.

    extraRight product.php S Es llamado debajo del bloque que contiene el botn "Aadir al carrito".

    productActions product.php S Es llamado en el interior del bloque que contiene el botn "Aadir al carrito", bajo el botn.

    productOutOfStock product.php S

    Es llamado en el interior del bloque que contiene el botn "Aadir al carrito", debajo de la informacin "Disponibilidad:".

    productfooter product.php S Es llamado encima de las pestaas.

    productTab product.php S

    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.

    productTabContent product.php S

    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.

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    18/41

    Carrito

    Nombre del hook Ubicacin (archivo)

    Visible por los internautas

    Descripcin

    cart Clase: Cart.php

    No Es llamado justo despus de crear o actualizar un carrito.

    shoppingCart order.php S Es llamado debajo del cuadro que muestra los productos contenidos en el carrito.

    shoppingCartExtra order.php S

    Es llamado debajo del cuadro que muestra los productos contenidos en el carrito, debajo de los botones de navegacin.

    createAccountTop authentication.php S Es llamado en el formulario de creacin de una cuenta cliente, encima del bloque "Sus datos personales".

    createAccountForm authentication.php S Es llamado en el formulario de creacin de una cuenta cliente, encima del botn "Inscripcin".

    createAccount authentication.php No Es llamado justo despus de la creacin de una cuenta cliente.

    customerAccount my-account.php S

    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.

    myAccountBlock Mdulo: blockmyaccount.php

    S

    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.

    authentication authentication.php No Es llamado justo tras la identificacin de un cliente, nicamente si sta es vlida (direccin email y contrasea correctos).

    Bsqueda

    Nombre del hook Ubicacin (archivo)

    Visible por los internautas

    Descripcin

    search Clase: Search.php

    No

    Es llamado despus de cada bsqueda. Ideal para analizar y/o optimizar las bsquedas (y resultados de bsqueda) efectuadas por sus clientes.

    Eleccin de un transportista

    Nombre del hook Ubicacin (archivo)

    Visible por los internautas

    Descripcin

    extraCarrier order.php S

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

    Pago

    Nombre del hook Ubicacin (archivo)

    Visible por los internautas

    Descripcin

    payment order.php S Es llamado para constituir la lista de modos de pago disponibles durante el proceso de pedido. Ideal para permitir

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    19/41

    elegir un mdulo de pago que usted mismo haya desarrollado.

    paymentReturn order-confirmation.php S

    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.

    orderConfirmation order-confirmation.php S

    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.

    backBeforePayment order.php No

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

    Devolucin mercanca

    Nombre del hook Ubicacin (archivo)

    Visible por los internautas

    Descripcin

    orderReturn order-follow.php No Es llamado cuando un cliente solicita una devolucin del producto, nicamente si no ha aparecido ningn error.

    PDFInvoice Classe : PDF.php

    S

    Es llamado al mostrar una factura en formato PDF. Ideal para mostrar contenido dinmico o esttico en dicha factura.

    Back-office y tratamientos anexos General

    Nombre del hook Ubicacin (archivo)

    Visible por los internautas

    Descripcin

    backOfficeTop header.inc.php S Es llamado en el encabezamiento, encima de las pestaas.

    backOfficeHeader header.inc.php No

    Es llamado entre las etiquetas

    de la pgina. Ideal para cargar sus archivos Javascript et CSS.

    backOfficeFooter footer.inc.php S Es llamado a pie de pgina, encima de la indicacin "Powered By PrestaShop".

    backOfficeHome index.php S Es llamado en el centro de la pgina de inicio.

    Pedidos y detalle de los pedidos

    Nombre del hook Ubicacin (archivo)

    Visible por los internautas

    Descripcin

    newOrder Classe : PaymentModule.php

    No Es llamado al crear un nuevo pedido , tras la creacin.

    paymentConfirm Classe : Hook.php

    No Es llamado cuando el estado de un pedido pasa a "Pago aceptado".

    updateOrderStatus Classe : OrderHistory.php

    No Es llamado al cambiar el estado de un pedido, antes del cambio.

    postUpdateOrderStatus Classe : OrderHistory.php

    No Es llamado al cambiar el estado de un pedido, tras el cambio.

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    20/41

    cancelProduct AdminOrders.php No Es llamado al suprimir un producto de un pedido, tras la supresin.

    invoice AdminOrders.php S Es llamado en el detalle de un pedido, antes del bloque relativo a los datos del cliente.

    adminOrder AdminOrders.php S Es llamado en el detalle de un pedido, tras el bloque relativo a los datos del cliente.

    orderSlip AdminOrders.php No Es llamado al crear un vale, tras la creacin.

    Productos

    Nombre del hook Ubicacin (archivo)

    Visible por los internautas

    Descripcin

    addproduct AdminProducts.php No Es llamado al crear o duplicar un producto, tras la creacin/duplicacin.

    updateproduct AdminProducts.php No Es llamado al actualizar un producto con una nueva foto, tras la actualizacin.

    deleteproduct Clase: Product.php

    No Es llamado al suprimir un producto, antes de suprimirlo.

    updateQuantity Clase: PaymentModule.php

    No Es llamado al validar un pedido cuyo estado no es "Anulado" o "Error de pago", para cada producto del pedido.

    updateProductAttribute Clase: Product.php

    No Es llamado al actualizar una declinacin de producto, tras la actualizacin.

    watermark AdminProducts.php No Es llamado al aadir una imagen a un producto, despus de aadirlo.

    Estadsticas

    Nombre del hook Ubicacin (archivo)

    Visible por los internautas

    Descripcin

    GraphEngine Clase: ModuleGraph.php

    S Es llamado al mostrar un grfico de estadsticas.

    GridEngine ModuleGridEngine.php

    S Es llamado al mostrar una lista de datos estadsticos.

    AdminStatsModules AdminStatsTab.php S Es llamado al mostrar la lista de los mdulos de estadsticas.

    Clientes

    Nombre del hook Ubicacin (archivo)

    Visible por los internautas

    Descripcin

    adminCustomers AdminCustomers.php S Es llamado en el detalle de un cliente, tras la lista de los grupos de clientes a la que pertenece.

    Transportistas

    Nombre del hook Ubicacin (archivo)

    Visible por los internautas

    Descripcin

    updateCarrier AdminCarriers.php No 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.

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    21/41

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

    Temas

    El concepto El 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 tema Un 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.

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    22/41

    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 traducciones Para 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 PrestaShop A 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.

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    23/41

    La arborescencia de PrestaShop Nuestro 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.

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    24/41

    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 PrestaShop A 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:

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    25/41

    order deny,allow deny from all

    Opciones de configuracin y fine-tuning/performances Este 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 PrestaShop A 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/sprites

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    26/41

    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 PrestaShop

    Tema por defecto PrestaShop El 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 tema Los 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.

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    27/41

    Arborescencia de un tema Archivo / Carpeta Descripcin

    preview.jpg

    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.

    404.tpl Pgina mostrada cuando la pgina solicitada no se encuentra (erreur 404).

    address.tpl Pgina para aadir o modificar una direccin cliente.

    addresses.tpl Pgina que lista las direcciones de un cliente.

    authentication.tpl Pgina de identificacin y de creacin de cuenta.

    best-sales.tpl Pgina que lista las mejores ventas.

    breadcrumb.tpl Camino de navegacin (raz de navegacin).

    category-tree-branch.tpl Utilizado nicamente para el bloque Categoras.

    category.tpl Pgina que lista los productos en el seno de una categora.

    cms.tpl Pginas informativas (pestaa Outil >> CMS del BO).

    contact-form.tpl Pgina del formulario de contacto.

    discount.tpl Pgina que lista los vales descuento de un cliente.

    errors.tpl Es llamado por la totalidad de las pginas. Muestra los errores.

    footer.tpl Pie de pgina.

    header.tpl Encabezado.

    history.tpl Pgina que lista los pedidos de un cliente.

    identity.tpl Pgina de modificacin de los datos personales de un cliente.

    index.tpl Pgina de inicio.

    maintenance.tpl Pgina de mantenimiento del sitio.

    manufacturer-list.tpl Pgina que lista los fabricantes.

    manufacturer.tpl Pgina que lista los productos de un fabricante.

    my-account.tpl Pgina de inicio de cuenta de un cliente.

    new-products.tpl Pgina que lista los productos aadidos recientemente.

    order-address.tpl Pgina del proceso de pedido: Etapa 1 Eleccin de las direcciones (entrega, facturacin).

    order-carrier.tpl Pgina del proceso de pedido: Etapa 2 eleccin del modo de entrega.

    order-confirmation.tpl Pgina de confirmacin de pedido (despus del pago).

    order-detail.tpl Pgina de detalle del pedido de un cliente.

    order-follow.tpl Pgina de solicitud de devolucin por parte de un cliente.

    order-payment.tpl Pgina del proceso de pedido: Etapa 3 elegir modo de pago.

    order-return.tpl Pgina de detalle de la devolucin de un cliente.

    order-slip.tpl Pgina que lista los vales de un cliente.

    order-steps.tpl Barra de evolucin del proceso de pedido.

    pagination.tpl Es llamado por todas las pginas que listan productos. Botones que permiten cambiar de pgina en una lista de productos.

    password.tpl Pgina de cambio de contrasea de un cliente.

    prices-drop.tpl Pgina que lista los descuentos.

    product-list.tpl Es llamado por todas las pginas que listan productos. Lista de los productos.

    product-sort.tpl Es llamado por todas las pginas que listan productos. Men que permite filtrar una lista de productos.

    product.tpl Pgina de detalle de un producto.

    scenes.tpl Pgina de detalle de una escena en una categora de productos.

    search.tpl Pgina que lista los resultados de una bsqueda.

    shopping-cart-product-line.tpl

    Pgina de detalle de una lnea del carrito.

    shopping-cart.tpl Pgina que lista los productos en el carrito de un cliente.

    sitemap.tpl Pgina de plano del sitio Web.

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    28/41

    supplier-list.tpl Pgina que lista los proveedores.

    supplier.tpl Pgina que lista los productos de un proveedor.

    thickbox.tpl Pgina de zoom de la foto de un producto.

    css

    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.

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

    js Scripts JavaScript utilizados en el tema. Excepto si es un usuario avanzado, le recomendamos que deje los archivos de origen.

    lang

    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 mdulos Algunos 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 PrestaShop

    Firebug Para 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

    JavaScript Las aplicaciones JavaScript deben archivarse en la carpeta js.

    Archivo preview.jpg Una 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-navegadores Es 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).

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    29/41

    Crear un mdulo PrestaShop

    Principio de los mdulos Los 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 mdulos La 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 mdulo La 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.

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    30/41

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

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    31/41

    $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 mdulo Como 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.

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    32/41

    Trasladar un mdulo Para 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.

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    33/41

    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 mdulo Nuestro mdulo necesita mostrar algo en la columna de la izquierda del Front Office.

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    34/41

    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!

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    35/41

    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');

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    36/41

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

    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 Smarty Smarty 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

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    37/41

    img_dir URL de la carpeta imagen del tema.

    css_dir URL de la carpeta css del tema.

    js_dir URL de la carpeta javascript del tema.

    tpl_dir URL de la carpeta del tema corriente.

    modules_dir URL de la carpeta de los mdulos.

    mail_dir URL de la carpeta de las plantillas de email.

    pic_dir URL de la carpeta de descarga.

    lang_iso Cdigo ISO del idioma utilizado.

    come_from URL del origen del usuario.

    shop_name Nombre de la tienda.

    cart_qties Nombre de productos en el carrito.

    cart El carrito.

    currencies Las diferentes divisas disponibles.

    id_currency_cookie ID de la divisa utilizada.

    currency Objet Currency (divisa actualmente utilizada).

    cookie Cookie del usuario.

    languages Lista de los diferentes idiomas disponibles.

    logged Indica si el usuario dispone de una cuenta cliente.

    page_name Nombre de la pgina.

    customerName Nombre del cliente (cuando est conectado).

    priceDisplay Modo de mostrar los precios (con o sin IVA, ).

    roundMode Modo de redondeo utilizado.

    use_taxes Indica si los impuestos estn activados.

    Para mostrar todas las variables Smarty disponibles en una pgina determinada, se puede aadir la siguiente instruccin en el archivo TPL :

    {debug}

    Para poner una parte de un archivo TPL en comentario, en lugar de utilizar los comentarios HTML que se encuentran en el cdigo fuente de la pgina, se pueden usar los comentarios Smarty {* *}.

    {* Cette chane est un commentaire et ne sera pas affiche. *}

    Traduccin de los mdulos Hemos redactado nuestro texto en ingls y queremos traducirlo al francs. Esta labor va a estar simplificada por Smarty as como por la herramienta de traduccin de PrestaShop. Actualmente, los textos aparecen de manera esttica. Por lo tanto, sea cual sea el idioma elegido en el Front Office o en el Back Office, los textos del mdulo siguen estando en ingls.

    Langue Back Office Front Office

    Vamos a ver como es posible la traduccin de nuestros textos. Para ello, utilizaremos, en los archivos PHP, el mtodo l() de la clase abstracta Module.php. Sin embargo, en los archivos TPL los textos estticos pasarn a ser elementos dinmicos que Smarty sustituir por la traduccin correspondiente en el idioma elegido. De esta manera, en mymodule.php ya hemos visto brevemente el uso del mtodo l() :

    $this->displayName = $this->l('My module'); $this->description = $this->l('Description of my module.');

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    38/41

    En mymodule.tpl : Welcome! Click me!

    El uso de elementos dinmicos nos da : {l s=' Welcome!' mod='mymodule'} {l s='Click me!' mod='mymodule'}

    Y en page.tpl :

    Welcome to my shop!

    Nos da: {l s='Welcome to my shop!' mod='mymodule'}

    El parmetro 'mod' es obligatorio en las plantillas del mdulo para que la herramienta de traduccin pueda hacer la correspondencia entre la cadena de caracteres que deben traducirse y la traduccin, para que sta pueda mostrarse. Slo deben usarse apstrofes para delimitar las cadenas que hay que traducir. Separar los posibles apstrofes de la cadena con una barra invertida '\'. Esto nos permitir traducir nuestras cadenas de caracteres en los idiomas instalados en nuestra tienda. Para ello, vaya a la pestaa Panel de administracin >> Herramientas >> Traducciones y en el apartado Modificar las traducciones, seleccionar en la lista "Traduccin de los mdulos", despus pulsar en la bandera francesa para traducir dicho mdulo al francs. La seccin correspondiente a nuestro mdulo se despliega ya que contiene cadenas que an no se han traducido. Basta entonces con rellenar los campos de la parte derecha con los equivalentes en francs de las cadenas situadas a la izquierda y validar pulsando en guardar cambios en la parte superior o inferior de la pgina.

    En la carpeta mymodule correspondiente a nuestro mdulo, se ha creado un archivo es.php con el contenido de las traducciones.

    Fichier es.php

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    39/41

    Estos archivos de idiomas no deben editarse directamente ya que la utilizacin de un editor poco apropiado para modificarlos, podra originar problemas. Las traducciones deben realizarse a partir de la herramienta de traduccin del Back Office. Si elegimos el francs como idioma en el Front Office o en el Back Office, podemos ver el mdulo traducido.

    Langue Back Office Front Office

    Para que la herramienta de traduccin de PrestaShop tenga en cuenta las traducciones, es necesario que los archivos PHP y TPL que contienen las cadenas que van a traducirse se encuentren situados en la raz del mdulo.

    Crear una pestaa en el Back-office, as como su clase Este apartado le permite crear en unos minutos una nueva pestaa o subpestaa en el Back-office de PrestaShop. Siga las siguientes etapas en orden:

    Aada una nueva tabla a su base de datos PrestaShop, llamada ps_test, y que tenga dos campos: id_test (INT 11), test (VARCHAR 32)

    Cree un archivo vaco llamado Test.php en la carpeta clases.

    En su archivo, aada las siguientes lneas:

    4. Cree un archivo vaco llamado AdminTest.php en la carpeta admin/tabs.

    5. En su archivo aada las siguientes lneas:

  • PrestaShop Documentacin: documentacin tcnica de PrestaShop v1.0 16 diciembre 2010

    40/41

    $this->fieldsDisplay = array( 'id_test' => array('title' => $this->l('ID'), 'align' => 'center', 'width' => 25), 'test' => array('title' => $this->l('Name'), 'width' => 200)); $this->identifier = 'id_test'; parent::__construct(); } public function displayForm() { global $currentIndex; $defaultLanguage = intval(Configuration::get('PS_LANG_DEFAULT')); $languages = Language::getLanguages(); $obj = $this->loadObject(true); echo ' id_language = Number('.$defaultLanguage.'); '; echo ' '.($obj->id ? '' : '').' '.$this->l('Profiles').' '.$this->l('Name:').' '; foreach ($languages as $language) echo ' * '; $this->displayFlags($languages, $defaultLanguage, 'name', 'name'); echo ' * '.$this->l('Required field').' '; } } ?>

    En caso de problema Si tiene algn problema, le recomendamos que siga las s