PrestaShop

Documentación: documentación técnica de PrestaShop

v1.0 – 16 diciembre 2010

v 1.0
1/41

PrestaShop

Documentación: documentación técnica de PrestaShop

v1.0 – 16 diciembre 2010

Documentación Documentación técnica de la Solución e-comercio open-source PrestaShop
DEFINICIONES................................................................................................................................................... 4 INTRODUCCIÓN GENERAL Y FILOSOFÍA DEL PROYECTO .................................................................................... 4 PRERREQUISITOS TÉCNICOS ............................................................................................................................. 5 INSTALAR PRESTASHOP .................................................................................................................................... 5 ¿INSTALACIÓN LOCAL O A DISTANCIA? .......................................................................................................................... 5 DESCARGAR PRESTASHOP .......................................................................................................................................... 6 COPIAR LOS ARCHIVOS DE INSTALACIÓN ........................................................................................................................ 6 COMPROBAR LOS PERMISOS ....................................................................................................................................... 6 CREAR LA BASE DE DATOS........................................................................................................................................... 6 SENSIBILIZACIÓN A LAS COPIAS DE SEGURIDAD ................................................................................................................ 7 LANZAR LA INSTALACIÓN ............................................................................................................................................ 7 Etapa 1 – Bienvenido ....................................................................................................................................... 7
¿En qué idioma quiere efectuar la instalación? ............................................................................................................ 7 Método de instalación .................................................................................................................................................. 7

Etapa 2 – Compatibilidad del sistema ............................................................................................................. 8
Por favor, asegúrese de que ha validado los siguientes parámetros ............................................................................ 8 Parámetros opcionales .................................................................................................................................................. 8

Etapa 3 – Configuración del sistema ............................................................................................................... 8
Configuración de la base de datos ................................................................................................................................ 8 Parámetros de envío de emails ................................................................................................................................... 10

Etapa 4 – Configuración de la tienda ............................................................................................................ 10
Nombre de la tienda ................................................................................................................................................... 10 País por defecto .......................................................................................................................................................... 10 Logo de la tienda ......................................................................................................................................................... 10 Nombre ....................................................................................................................................................................... 10 Apellido ....................................................................................................................................................................... 10 Dirección email............................................................................................................................................................ 10 Contraseña de la tienda .............................................................................................................................................. 10 Confirmar la contraseña .............................................................................................................................................. 10 Recibir mis datos por email ......................................................................................................................................... 11

Etapa 5 – ¡Instalación 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 INSTALACIÓN DE LA NUEVA VERSIÓN .......................................................................................................................... 14 Descarga ....................................................................................................................................................... 14 Extraer y copiar ............................................................................................................................................. 14 Restaurar los datos a partir de una antigua versión ..................................................................................... 14 Instalar la actualización ................................................................................................................................ 15 ARQUITECTURA GENERAL .............................................................................................................................. 15 GRANDES PRINCIPIOS (MÓDULOS, TEMAS) .................................................................................................... 16 MÓDULOS ............................................................................................................................................................ 16 El concepto .................................................................................................................................................... 16
2/41

PrestaShop

Documentación: documentación técnica de PrestaShop

v1.0 – 16 diciembre 2010

Funcionamiento técnico de un módulo ......................................................................................................... 16 Lista de los hooks de PrestaShop................................................................................................................... 17 TEMAS ................................................................................................................................................................. 21 El concepto .................................................................................................................................................... 21 Funcionamiento técnico de un tema ............................................................................................................. 21 La gestión de las traducciones ...................................................................................................................... 22 Transmitir informaciones (datos) a un tema PrestaShop .............................................................................. 22 LA ARBORESCENCIA DE PRESTASHOP ............................................................................................................. 23 BUENOS HÁBITOS QUE DEBEN RESPETARSE (DESARROLLADORES, INTEGRADORES)...................................... 24 SECURIZAR SU INSTALACIÓN PRESTASHOP .................................................................................................... 24 OPCIONES DE CONFIGURACIÓN 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 PRÁCTICAS ..................................................................................................................................................... 26 CREAR UN TEMA PRESTASHOP .................................................................................................................................. 26 Tema por defecto PrestaShop ....................................................................................................................... 26 Crear un nuevo tema ..................................................................................................................................... 26 Arborescencia de un tema ............................................................................................................................. 27 Tema de los módulos..................................................................................................................................... 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 MÓDULO PRESTASHOP ............................................................................................................................. 29 Principio de los módulos ................................................................................................................................ 29 Arborescencia de los módulos ....................................................................................................................... 29 Estructura de base de un módulo .................................................................................................................. 29 Configuración de un módulo ......................................................................................................................... 31 Trasladar un módulo ..................................................................................................................................... 32 Mostrar un módulo ....................................................................................................................................... 33 Utilización de Smarty .................................................................................................................................... 36 Traducción de los módulos ............................................................................................................................ 37 CREAR UNA PESTAÑA 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 corrección sobre este documento, póngase en contacto con PrestaShop contact@prestashop.com
3/41

PrestaShop

Documentación: documentación técnica de PrestaShop

v1.0 – 16 diciembre 2010

Documentación Documentación técnica de la solución 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 oposición al Front Office que constituye la interfaz con el usuario. Para un sitio de comercio en línea, también se puede hablar de trastienda. En él, el vendedor puede administrar sus productos, los clientes, los pedidos, los parámetros, 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 línea. La interfaz destinado al administrador se llama Back Office. Open-Source La designación Open-Source se aplica a los software cuya licencia respeta los criterios establecidos por el Open Source Initiative, es decir, la posibilidad de libre predistribución, de acceso al código fuente y de los trabajos derivados.

Introducción general y filosofía del proyecto
PrestaShop es un software e-comercio Open-source que puede descargarse de manera gratuita a partir de la siguiente dirección internet: http://www.prestashop.com. El software ha sido editado por una empresa francesa, basada en París, también llamada PrestaShop. En elle trabajan un equipo de quince personas para proporcionar un software de calidad, lo más completo posible tanto en el plano técnico como de las aplicaciones que propone. El proyecto está financiado por servicios específicos a vendedores (personalización grafica, desarrollos técnicos…) así como por dos proyectos: El proyecto está financiado por:  Servicios específicos a los vendedores (personalización gráfica, desarrollos técnicos, …), formaciones de 4 tipos:  desarrollos (PHP, MySQL) con PrestaShop,  integración (XHTML, CSS, Smarty) con PrestaShop,  optimización de su referenciamiento con PrestaShop,  utilización del Back-office PrestaShop,  así como por dos proyectos:  www.addons.prestashop.com La tienda oficial para PrestaShop (temas, módulos, logos, …).
4/41

MAMP o EasyPHP. El 99% de los posting aceptan dichos elementos técnicos. también es posible utilizar un sistema en el que todo está incorporado.  . etc. puede consultar su documentación.  Haciendo un don que permita que el proyecto mejore (http://www. antes de lanzarse y de invertir en una inscripción. servidor HTTP.com/ http://www. con más de 100 000 miembros.com/forums/). PC.info/en/index. etc.prestashop. herramientas de gestión de las bases de datos de los datos MySQL como PHPMyAdmin.com Una solución de hosting llave en mano para el software PrestaShop. PrestaShop agrupa actualmente a más de 40 000 vendedores a través de todo el mundo y progresa a pasos agigantados.com/es/donate/). 5/41 .html http://www.. es posible hacer un test de PrestaShop en su propio ordenador (Mac. A continuación una lista no exhaustiva de dichos programas: Sistema de explotación Linux Mac Windows Software XAMPP MAMP WAMP EasyPHP URL http://www. por lo que podrá instalar fácilmente PrestaShop independientemente de cual sea su hosting.).prestashop. Para instalarlo. Las claves del proyecto PrestaShop son:  Simplicidad  Eficacia  Flexibilidad  Rapidez Cada usuario del software PrestaShop puede contribuir como quiera.wampserver.PrestaShop Documentación: documentación técnica de PrestaShop v1. Sin embargo.html http://www.mamp. deberá estar instalada en un servidor distante. y como pueda:  Traduciéndolo en diferentes idiomas.org/ Para más información sobre la utilización de dichos programas. necesitará un servidor Web (Apache. gracias a una comunidad muy activa.prestabox. El hosting pondrá a su disposición todas las herramientas necesarias para administrar su sitio Web (acceso FTP.0 – 16 diciembre 2010  www. antes de hacer una inscripción compruebe que su hosting propone todos los requisitos técnicos que hemos citado.org/fr/xampp. por ejemplo en un hosting. IIS).). En ese caso. Prerrequisitos técnicos PrestaShop es un software pensado con el lenguaje de programación PHP 5 y el sistema de base de datos MySQL 5. como WAMP.easyphp. Esto es posible gracias a varios programas que dan acceso a los prerrequisitos técnicos..apachefriends. Dichos programas se encuentran disponibles tanto para Mac como para Windows o Linux. Instalar PrestaShop ¿Instalación local o a distancia? Para que su tienda sea accesible en Internet.  Participando en el foro comunitario (http://www.

com/es/downloads/ Las versiones consideradas estables para utilizar en producción llevan el término "final". Copie todos los elementos en su sitio Web. de manera no recursiva.0 – 16 diciembre 2010 Descargar PrestaShop El último archivo estable de la solución PrestaShop puede descargarse en la siguiente dirección: http://www. Lo más sencillo es crear la base de datos con la herramienta de su servidor (por ejemplo PHPMyAdmin) a partir de este momento. o bien en una subcarpeta. 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 instalación de PrestaShop.  En el campo Crear una base de datos. llamados también CHMOD 666. La base de datos ya ha sido creada. ya que en caso de problema.PrestaShop Documentación: documentación técnica de PrestaShop v1. las tablas necesarias de funcionamiento de la solución se crearán en el seno de la base de datos. Ejemplo de creación de la base de datos.0. lo necesitará en la etapa 3 de la instalación de PrestaShop. Copiar los archivos de instalación Una vez haya descargado el archivo. puede necesitarlo posteriormente para reinstalar o restaurar un archivo corrupto. Se recomienda guardar el archivo descargado que sirvió para instalar su tienda. con WAMP Para crear una nueva base de datos con WAMP:  Asegúrese de que ha lanzado los servidores Apache y MySQL. Por ejemplo : mitienda.  Pulse en el botón Crear. Otras versiones en curso pueden ponerse a disposición en esta página pero solo para test. es decir. "beta" o "RC". escriba el nombre de la base de datos que va a crear (sin espacios ni caracteres especiales).prestashop. Comprobar los permisos Asegúrese de que las siguientes carpetas tienen permisos en lectura/escritura. si no ha hecho copia de seguridad. debe extraer el contenido. o bien en la raíz. 6/41 .1/phpmyadmin/ a partir de su navegador. Aparece una carpeta prestashop que contiene todos las carpetas y archivos de la solución. en local. Por lo tanto es necesario crear la base de datos antes de dicha etapa. Memorice el nombre de la base de datos. Se identifican por las palabras "alpha".  Conéctese a http://127.0. aplicados a la carpeta misma pero no a las subcarpetas: /config /download /tools/smarty/compile /upload Asegúrese de que las siguientes carpetas tienen permisos en lectura/escritura. Le desaconsejamos que utilice estas versiones en producción.

7/41 . La ayuda de instalación PrestaShop se encuentra disponible en tres idiomas: inglés.prestashop. etc. es preferible hacer copias de seguridad de su tienda con frecuencia.). Existen paquetes de idiomas.com/shop/ si se encuentra en una subcarpeta shop (o localhost/shop/ en local). Pulse en para validar esta epata y pasar a la siguiente.0 – 16 diciembre 2010 Sensibilización a las copias de seguridad Porque un incidente puede surgir en cualquier momento (mala manipulación. los archivos puestos a disposición para las descargas del cliente. marque Instalación completa de PrestaShop. sólo se propondrá la instalación completa de PrestaShop. pedidos. a la carpeta que contiene sus archivos PrestaShop. Esta elección determina igualmente cuál será el idioma por defecto del Front Office y del Back Office después de la instalación. marque Actualización. etc. Una tienda PrestaShop está formada por una parte de carpetas y archivos (los que constituyen la solución pero también las imágenes añadidas posteriormente. Lanzar la instalación Lanzar la instalación. Etapa 1 – Bienvenido ¿En qué idioma quiere efectuar la instalación? Seleccione el idioma que se utilizará en la ayuda de instalación.PrestaShop Documentación: documentación técnica de PrestaShop v1. francés y español. Por ejemplo. cuentas clientes. disponibles gratuitamente que le permiten traducir tanto el Front Office como el Back Office de su tienda en la siguiente dirección: http://www. escribir www. et www. virus. accediendo a partir de su navegador habitual.) y por otra parte de una base de datos que agrupa toda la información como la descripción de los productos.com si se encuentra en la raíz de su sitio (o localhost en local). Es importante hacer copias de seguridad de ambas partes para no correr el riesgo de perder la mitad de su tienda.mitienda. Para efectuar la actualización de una tienda PrestaShop a una versión más reciente. alteración de datos.com/es/downloads/ Método de instalación Para lanzar una nueva instalación de PrestaShop. Si el asistente de instalación no detecta la instalación anterior. etc.mitienda.

Parámetros opcionales Todos los elementos de la siguiente lista son opcionales.com/forums). Haga una búsqueda de las soluciones que mejor se adapten a su caso en nuestro foro (http://www.prestashop. pulse en Pulse en para validar esta etapa y pasar a la siguiente. Configuración de la base de datos 8/41 . en ese caso es necesario corregir el problema. Etapa 3 – Configuración del sistema Para esta etapa. Ver párrafo « Crear la base de datos » a continuación para más detalles.PrestaShop Documentación: documentación técnica de PrestaShop v1. los problemas. quiere comprobar su configuración. pero se recomienda que se validen.0 – 16 diciembre 2010 Etapa 2 – Compatibilidad del sistema Por favor. Si. Las soluciones pueden ser diferentes en función del hosting. una vez solucionados . asegúrese de que ha validado los siguientes parámetros Todos los elementos de la siguiente lista deben estar seleccionados en verde. Si aparece un círculo rojo significa que la condición correspondiente no se ha respetado. se debe crear una base de datos y poder asi generar las tablas.

Nombre de la base. En el caso de una tienda instalada en local y de la utilización de un programa tipo LAMP (EasyPHP. Identificación y Contraseña permiten configurar el acceso a la base de datos creada precedentemente. etc.) a la base. El botón permite comprobar la conexión correcta a la base de datos. MAMP. WAMP. productos. Después. etc. identificador o contraseña incorrectos). Este es. nombre de servidor incorrecto. 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 instalación PrestaShop en la base de datos. Este prefijo permite diferenciar fácilmente las tablas de varias aplicaciones que utilizarían la misma base de datos. nombre de la base de datos incorrecta).) consulte la documentación oficial del mismo para saber qué parámetros especificar. éste ha debido comunicarle todos los parámetros necesarios (por email o en el panel de administrador de su cuenta). No es posible pasar a la etapa siguiente si este test no se realiza con éxito. ¡Ideal para hacer pruebas! Modo simple Las tablas de la base de datos han sido creadas pero no se ha incluido ningún producto ejemplo ni se ha instalado ningún módulo.0 – 16 diciembre 2010 Los cuatro primeros campos Servidor. los principales módulos están instalados y se han añadido ejemplos (categorías. Tras la instalación. 9/41 . deberá elegir entre dos modos de instalación: Modo completo Las tablas de la base han sido creadas. clientes. Si el acceso al servidor no es posible (servidor que no se lanza. aparecerá el siguiente mensaje: Si los parámetros son correctos. En el caso de una instalación en un hosting. el Front Office aparecerá prácticamente vacío. pedidos. aparecerá el siguiente mensaje: Si no se ha encontrado la base de datos (base de datos no creada.PrestaShop Documentación: documentación técnica de PrestaShop v1.

La herramienta de instalación procede de la creación de las tablas necesarias para que la solución PrestaShop funcione antes de pasar a la siguiente etapa. únicamente letras. Los usuarios con más conocimientos. Pulse en para validar esta etapa. el modo que debe utilizar cuando instala su tienda definitiva. Por defecto. Contraseña de la tienda Contraseña del administrador de la tienda. podrá añadir su logo más tarde. Este nombre se utilizará en la etiqueta <title> y aparecerá en la barra sistema del navegador de visitantes. la función mail() de PHP se utiliza para el envío de emails. podrán especificar sus propios parámetros marcando la casilla Configurar el envío SMTP y cubriendo los campos que aparecen. Parámetros de envío de emails Para saber si la configuración del envío de emails es funcional. desde el Back Office (Back Office >> Preferencias >> Apariencia). País por defecto Elija el país que se utilizará por defecto en su tienda._ Confirmar la contraseña Introduzca de nuevo la contraseña del administrador de la tienda para verificación. cifras o guiones: . Logo de la tienda Pulse en Recorrer… para elegir en su disco duro la imagen correspondiente al logo de su tienda. Dirección email Dirección email del administrador de la tienda. Etapa 4 – Configuración de la tienda Nombre de la tienda Escriba el nombre de su nueva tienda PrestaShop. Apellido Apellido del administrador de la tienda. Este campo es opcional. 10/41 . Nombre Nombre del administrador de la tienda.PrestaShop Documentación: documentación técnica de PrestaShop v1. Esta dirección servirá como identificador de conexión en el panel de administrador de la tienda. es posible solicitar el envío de un email de test especificando una dirección email en el campo situado en la parte inferior de la página y pulsando en .0 – 16 diciembre 2010 evidentemente. Esta debe contener al menos 8 caracteres. Esto puede llevar algunos minutos. para que no se “contamine” con los datos de ejemplos del otro modo.

este lo le permite conectarse. a suprimir la carpeta install y a renombrar la carpeta admin. por razones de seguridad. Si ha optado por la instalación simple. marque esta casilla. A partir de este momento. esta puede tener un aspecto casi vacío. Pero.PrestaShop Documentación: documentación técnica de PrestaShop v1. Etapa 5 – ¡Instalación terminada! Esta última etapa recapitula algunos de los datos más importantes de su tienda (nombre de la tienda. de momento. ya puede acceder a su tienda pulsando en el cuadro Front Office. nombre y apellidos del administrador). 11/41 . Un clic en el cuadro Back Office le conduce a su panel de administrador. Le invita.0 – 16 diciembre 2010 Recibir mis datos por email Si desea recibir sus datos de conexión por email.

0 – 16 diciembre 2010 Se aconseja evitar un nombre demasiado simple. se ha modificado su camino de acceso. Introduzca la dirección email y la contraseña especificadas en la etapa 4 de la instalación. aparecerá un error 404 "Página no encontrada" ya que. en ese momento.PrestaShop Documentación: documentación técnica de PrestaShop v1. Personalice su tienda Para terminar. o bien a través de su cliente FTP si la instalación se hace en un servidor distante. ya sea en su disco duro para una instalación en local. Si.prestashop. al nombrar de nuevo la carpeta. como por ejemplo admin2.addons. esta quinta etapa del asistente de instalación le permite descubrir las múltiples maneras de personalizar su tienda PrestaShop.com/shop/admin567 En ese momento. el Marketplace de PrestaShop: www.1/shop/admin http://myshop. Ejemplo en local Ejemplo en línea Sustituir: Sustituir: http://127. Estas operaciones se hacen manualmente en la carpeta de instalación de su tienda. Para poder acceder al mismo.com/shop/admin por: por: http://127.0.0. tendrá acceso al formulario de conexión y al panel de configuración de su nueva tienda PrestaShop.0.com.com 12/41 .1/shop/admin567 http://myshop. basta con sustituir en la barra de direcciones de su navegador la carpeta admin por el nombre que le ha dado.0. intenta acceder a su panel de administrador pulsando de nuevo en el cuadro Back Office. tanto a nivel del aspecto como de las aplicaciones gracias a las numerosas contribuciones disponibles en addons.prestashop.

PrestaShop Documentación: documentación técnica de PrestaShop v1. por lo tanto le recomendamos que antes de actualizar su tienda se entrene en una tienda test. utilice la herramienta del panel de administración de PrestaShop prevista para tal efecto: Seleccione el idioma que quiera exportar y pulse en Exportar. 13/41 . 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 disposición por su hosting (phpMyAdmin u otro).0 – 16 diciembre 2010 Actualización de PrestaShop Precauciones La actualización es un proceso delicado que afecta a la vez a los archivos y a la base de datos de su tienda PrestaShop. Copia de seguridad Copia de seguridad de sus traducciones Para exportar sus traducciones. Repita la operación para cada idioma que quiera exportar.

También deberá instalar de nuevo los módulos terceros utilizados en su anterior tienda.php de su antigua tienda hacia la nueva: /myshop/config/settings. plantillas de emails. copie la carpeta correspondiente a dicho tema a partir de la antigua versión: /myshop_old/themes/montheme hacia la nueva: /myshop/themes/montheme Copie el archivo: /myshop_old/config/settings. Para hacer una copia de los archivos de la antigua versión de su tienda. si su tienda está en una carpeta myshop: /myshop Cambie el nombre por: /myshop_old Si los archivos de su tienda están instalados directamente en la raíz del sitio Web.com/es/downloads/ Extraer y copiar Extraer el archivo descargado a su disco duro y transferirlo con ayuda de su cliente FTP a la raíz de su sitio Web o a la carpeta que contiene su tienda.0 – 16 diciembre 2010 Copia de seguridad de sus archivos PrestaShop Si su tienda PrestaShop está instalada en una subcarpeta de su sitio Web.PrestaShop Documentación: documentación técnica de PrestaShop v1.htaccess. renombre de nuevo las carpetas que lo contienen.). regenere un nuevo archivo .php 14/41 . Instalación de la nueva versión Descarga Descargue la última versión final de PrestaShop en la siguiente dirección: http://www. Restaurar los datos a partir de una antigua versión Si ha personalizado alguno de los elementos de PrestaShop (idiomas. Las imágenes deberán restaurarse a partir de la carpeta /img de la anterior copia hacia la carpeta /img de la nueva instalación. Si por alguna razón.inc. Si utiliza un tema personalizado.prestashop. ha modificado el archivo . etc. Por ejemplo. Asegúrese de que son compatibles con la nueva versión de PrestaShop.inc. suprimiendo posibles elementos que estén duplicados. la futura actualización se instalará en la misma carpeta.htaccess con la herramienta: Después añada la información que contenía el anterior archivo . deberá realizar de nuevo las modificaciones en la nueva instalación a partir de la copia de seguridad que ha hecho anteriormente. cree una nueva carpeta: /prestashop_old Y copie en ella el conjunto de su tienda PrestaShop.htaccess en el nuevo.

PrestaShop Documentación: documentación técnica de PrestaShop v1. como nos muestra el siguiente esquema: Este modelo retoma el principio de MVC ("Modelo-Vista-Controlador"). simplificándolo y haciéndolo accesible a todos.  La posibilidad para los desarrolladores de preparar datos y módulos complementarios para el integrador.. ya que el software contiene únicamente el código PHP necesario para un funcionamiento correcto (y no un conjunto de librerías genéricas). Esto también permite obtener un mayor rendimiento. 15/41 . CakePHP.myshop. Symfony.  Modificaciones rápidas y simples para los desarrolladores.. Las ventajas de la arquitectura tres capas son numerosas:  La posibilidad de comprender fácilmente el código fuente del software. Nuestro equipo técnico ha decidido no utilizar Framework PHP (Zend Framework.com/myshop/install Siga el mismo proceso que para la instalación pero esta vez marque la casilla Actualización en la primera etapa del asistente de instalación.  La posibilidad para los grafistas/integradores de trabajar en la carpeta temas sin necesidad de comprender ni leer el código PHP. Arquitectura general PrestaShop es un software basado en una arquitectura tres capas.) para permitir una mayor visibilidad del código y una modificación más rápida.0 – 16 diciembre 2010 Instalar la actualización Lance el asistente de instalación a partir de su navegador añadiendo /install a la dirección de su tienda: http://www.

que representan el tema del módulo.com Estos han sido realizados por la empresa PrestaShop y/o la comunidad PrestaShop y se comercializan a un precio muy abordable.PrestaShop Documentación: documentación técnica de PrestaShop v1.  Un archivo PHP con el nombre del módulo. puede intervenir en uno o varios "points d'accroche" llamados también "hook" en inglés.  Eventualmente: archivos . etc.  Comunicar con actores del comercio en línea (guías de compra. La empresa PrestaShop propone gratuitamente con su software más de 50 módulos que le permiten lanzar su actividad de manera gratuita rápidamente. si ha sido instalado por el vendedor. una carpeta con el mismo nombre que el módulo que incluye los archivos TPL y archivos de idiomas si es el caso. y permite fundamentalmente mostrar de manera diferente un mismo módulo según el tema utilizado. plataformas de pago. situado en la misma carpeta.  Un archivo icono.). también puede proponer módulos en PrestaShop Addons y percibir el 70% del importe de la venta de sus creaciones.  Eventualmente: archivos de idioma. Funcionamiento técnico de un módulo Un módulo se compone de:  Una carpeta con el nombre del módulo. Esta última carpeta es esencial para cualquier modificación de un módulo que ya existe.prestashop. responsables de logística.gif.  Eventualmente: en una carpeta /themes/modules/.addons. si éste último incluye texto. su personalización y su extensión. situada en la carpeta módulos de PrestaShop.tpl. Más de 400 módulos complementarios se encuentran disponibles en www. para poder adaptarlo sin que afecte al archivo de origen. …). Temas) Módulos El concepto El software e-comercio PrestaShop se articula en torno a un principio de módulos que facilita su utilización. logo.0 – 16 diciembre 2010 Grandes principios (Módulos.  Mostrar elementos suplementarios en su sitio Web (selección de productos. Si usted es desarrollador. que representa dicho módulo. Un hook es la representación en la vista a partir del momento 16/41 . Un módulo es un complemento de PrestaShop que permite realizar las siguientes acciones:  Aportar una aplicación suplementaria a PrestaShop. Ejemplo con el módulo blockinfos disponible gratuitamente en PrestaShop: Cada módulo PrestaShop.

Es llamado en el interior del bloque que contiene el botón "Añadir al carrito".php Sí productTab product.PrestaShop Documentación: documentación técnica de PrestaShop v1. bajo la foto.php index.php Sí Sí Sí Sí Sí Ficha producto Nombre del hook extraLeft extraRight productActions Ubicación (archivo) product. Es llamado en el encabezamiento de la página.php product.0 – 16 diciembre 2010 en que se efectúa un tratamiento del módulo o se muestran informaciones (ejemplo: en el carrito.php product. "Características". Es llamado en el centro de la página de inicio. tras actualizar el stock). Lista de los hooks de PrestaShop A continuación presentamos a la lista de los 33 hooks disponibles en PrestaShop: Front-office Inicio y entorno del sitio Nombre del hook Ubicación (archivo) header. Ideal parar cargar sus archivos Javascript y CSS. Es llamado encima de las pestañas. productOutOfStock product.php footer.php Sí productTabContent product. header top leftColumn rightColumn footer home header. Más concretamente un hook es un atajo hacia los diferentes métodos del objeto Módulo asignados al mismo. "Accesorios"… Ideal para añadir una pestaña suplementaria cuyo contenido administrará el hook productTabContent. la ficha producto. Es llamado en la lista de las pestañas como "Más información". debajo de la información "Disponibilidad:".php Sí productfooter product.php header. Es llamado al cambiar la columna de la izquierda. ideal para mostrar el contenido correspondiente a una pestaña que ha añadido con el hook productTab.php Visible por los internautas Sí Sí Sí Descripción Es llamado justo encima "Imprimir". Es llamado al cambiar la columna de la derecha. del link Es llamado debajo del bloque que contiene el botón "Añadir al carrito". Es llamado al pie de página. Es llamado al pulsar en una de las pestañas.php footer.php Sí 17/41 .php Visible por los internautas No Descripción Es llamado entre las etiquetas <head></head> de la página. bajo el botón. Es llamado en el interior del bloque que contiene el botón "Añadir al carrito".

php authentication.PrestaShop Documentación: documentación técnica de PrestaShop v1.php order. Ideal para añadir un transportista desarrollado en forma de módulo (ejemplo: transportista punto de entrega).php Sí createAccountForm createAccount authentication. debajo de los botones de navegación. Es llamado en el formulario de creación de una cuenta cliente.php Visible por los internautas Sí Descripción Es llamado para constituir la lista de modos de pago disponibles durante el proceso de pedido. Ideal para permitir 18/41 . search Elección de un transportista Nombre del hook Ubicación (archivo) Visible por los internautas Descripción Es llamado debajo de la lista de los transportistas disponibles en el momento del pedido. Es llamado en el formulario de creación de una cuenta cliente. en la parte inferior de la lista de los links disponibles.php Sí createAccountTop authentication.php Sí authentication authentication.php Visible por los internautas No Descripción Es llamado después de cada búsqueda.php Visible por los internautas No Sí Descripción Es llamado justo después de crear o actualizar un carrito.php Sí Pago Nombre del hook payment Ubicación (archivo) order. Es llamado justo después de la creación de una cuenta cliente.php Sí myAccountBlock Módulo: blockmyaccount. Ideal para analizar y/o optimizar las búsquedas (y resultados de búsqueda) efectuadas por sus clientes.php Sí No customerAccount my-account. encima del bloque "Sus datos personales". extraCarrier order. encima del botón "Inscripción". únicamente si ésta es válida (dirección email y contraseña correctos). Ideal para añadir un link a dicha lista. shoppingCartExtra order.0 – 16 diciembre 2010 Carrito Nombre del hook cart shoppingCart Ubicación (archivo) Clase: Cart. Es llamado en el bloque "Mi cuenta" en la columna de la izquierda. Es llamado debajo del cuadro que muestra los productos contenidos en el carrito. en la parte inferior de la lista de los links disponibles. Ideal para añadir un link a dicha lista. Es llamado en Inicio de la cuenta cliente.php No Búsqueda Nombre del hook Ubicación (archivo) Clase: Search. Es llamado debajo del cuadro que muestra los productos contenidos en el carrito. Es llamado justo tras la identificación de un cliente.

inc. Es llamado al cambiar el estado de un pedido.php Visible por los internautas No Descripción Es llamado cuando un cliente solicita una devolución del producto. 19/41 .php No Devolución mercancía Nombre del hook orderReturn Ubicación (archivo) order-follow. Es llamado al volver a la tienda después de un pago. Ideal para mostrar un mensaje de confirmación y/o para aportar precisiones relativas al pago. Es llamado al mostrar la lista de modos de pago disponibles. antes del cambio. Es llamado en el centro de la página de inicio. backOfficeHeader header.php Classe : Hook. Es llamado al cambiar el estado de un pedido.php Sí Sí Pedidos y detalle de los pedidos Nombre del hook newOrder paymentConfirm updateOrderStatus postUpdateOrderStatus Ubicación (archivo) Classe : PaymentModule.php Classe : OrderHistory. PDFInvoice Classe : PDF. Es llamado entre las etiquetas <head></head> de la página. Ideal para mostrar contenido dinámico o estático en dicha factura.php No backOfficeFooter backOfficeHome footer.php Sí orderConfirmation order-confirmation.inc. Es llamado a pie de página.php Sí backBeforePayment order. Ideal para cargar sus archivos Javascript et CSS.php Sí Back-office y tratamientos anexos General Nombre del hook backOfficeTop Ubicación (archivo) header.php Classe : OrderHistory. Es llamado al volver a la tienda tras un pago. Ideal para mostrar un mensaje de confirmación y/o para aportar precisiones relativas al pago. tras la creación.PrestaShop Documentación: documentación técnica de PrestaShop v1.php Visible por los internautas No No No No Descripción Es llamado al crear un nuevo pedido . Ideal para redirigir al comprador en lugar de mostrarle la lista (Ejemplo: Checkout 1-click PayPal).php index. Es llamado cuando el estado de un pedido pasa a "Pago aceptado".inc. encima de las pestañas.0 – 16 diciembre 2010 elegir un módulo de pago que usted mismo haya desarrollado. paymentReturn order-confirmation. Es llamado al mostrar una factura en formato PDF.php Visible por los internautas Sí Descripción Es llamado en el encabezamiento. encima de la indicación "Powered By PrestaShop". únicamente si no ha aparecido ningún error. tras el cambio. Idéntico al paymentReturn.

qué módulos debe llamar. tras la actualización.php Clase: Product. antes del bloque relativo a los datos del cliente. tras la creación/duplicación. Estadísticas Nombre del hook GraphEngine GridEngine AdminStatsModules Ubicación (archivo) Clase: ModuleGraph. tras la supresión.php Visible por los internautas No Descripción Es llamado en el momento de actualizar un transportista.php Sí No Productos Nombre del hook addproduct updateproduct deleteproduct updateQuantity updateProductAttribute watermark Ubicación (archivo) AdminProducts.php AdminOrders. Es llamado al mostrar la lista de los módulos de estadísticas. Es llamado al mostrar una lista de datos estadísticos. Transportistas Nombre del hook updateCarrier Ubicación (archivo) AdminCarriers. Es llamado al validar un pedido cuyo estado no es "Anulado" o "Error de pago". para cada producto del pedido. Es llamado al suprimir un producto. Es llamado al crear un vale. para cada uno de los hooks que la componen. Es llamado en el detalle de un pedido.0 – 16 diciembre 2010 cancelProduct invoice AdminOrders.php No Sí Es llamado al suprimir un producto de un pedido. Al mostrar una página del sitio de venta en línea.php ModuleGridEngine.php AdminProducts.php AdminOrders.php AdminProducts.ph p AdminStatsTab. tras la actualización.php Visible por los internautas Sí Descripción Es llamado en el detalle de un cliente. tras la creación. Clientes Nombre del hook adminCustomers Ubicación (archivo) AdminCustomers. Es llamado al añadir una imagen a un producto. tras la lista de los grupos de clientes a la que pertenece.PrestaShop Documentación: documentación técnica de PrestaShop v1. Es llamado al actualizar un producto con una nueva foto. 20/41 . tras el bloque relativo a los datos del cliente.php Clase: PaymentModule. Es llamado en el detalle de un pedido. adminOrder orderSlip AdminOrders.php Visible por los internautas Sí Sí Sí Descripción Es llamado al mostrar un gráfico de estadísticas. el motor PrestaShop comprueba. antes de suprimirlo. tras la actualización. después de añadirlo. Es llamado al actualizar una declinación de producto.php Visible por los internautas No No No No No No Descripción Es llamado al crear o duplicar un producto.php Clase: Product.

addons. 21/41 . sin conocimientos técnicos específicos.prestashop.tpl).jpg en su carpeta. . Si usted es grafista/integrador. y una o varias hojas de estilo CSS y a veces archivos JS. h  Cada tema está formado por archivos plantillas (.smarty.  Cada tema incluye un archivo preview.jpg. sus propios temas.PrestaShop Documentación: documentación técnica de PrestaShop v1.png).gif. con tonos grises. A continuación le presentamos la principal información que debe tener en cuenta:  Todos los archivos relativos a un tema gráfico se encuentran en la carpeta /temas. Este último permite a los integradores desarrollar fácilmente.com Estos han sido realizados por la empresa PrestaShop y/o la comunidad PrestaShop y se comercializan a un precio muy abordable. Funcionamiento técnico de un tema Un tema PrestaShop es un conjunto de archivos que permiten modificar el aspecto de su tienda.0 – 16 diciembre 2010 A continuación 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 línea una personalización con los colores de la tienda.  Cada tema está representado por una subcarpeta que lleva su nombre. . Más de 100 temas PrestaShop se encuentran disponibles en el sitio www. que permite desarrollar de manera sencilla y gratuita cualquier sector de actividad. PrestaShop propone en estándar un tema neutro.net). también puede proponer temas en PrestaShop Adons y percibir el 70% del importe de la venta de sus creaciones. imágenes (. lo que permite al vendedor en línea visualizar el tema en el Back-office y también seleccionarlo. Este sistema se articula en torno a un motor de plantillas llamado Smarty (http://www.

 La carpeta lang contiene las traducciones del tema. si se ha traducido como se ha indicado anteriormente. 22/41 . Transmitir informaciones (datos) a un tema PrestaShop A continuación presentamos un esquema del funcionamiento de la transmisión de datos entre el corazón de PrestaShop y los temas PrestaShop. Nota: las carpetas css. en hello.jpg.  La carpeta img contiene los archivos relativos a las imágenes del tema. No se olvide de incluir los derechos correspondientes (ej: CHMOD 666) para que la herramienta de Back-office pueda guardar las traducciones.tpl. permite mostrar el texto en el idioma seleccionado.tpl. La gestión de las traducciones Para la totalidad de los textos contenidos en sus archivos .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 raíz del tema contiene únicamente los archivos .tpl (plantillas Smarty) así como el archivo preview. debe incluir la siguiente etiqueta: {l s='Mon texte'} Esto le permitirá traducir fácilmente dichos textos a través de la pestaña: sección Modificar las traducciones del Back-office PrestaShop.PrestaShop Documentación: documentación técnica de PrestaShop v1. img y js no son indispensables para el funcionamiento de un tema personalizado.  La carpeta js contiene los archivos relativos a la Javascript del tema. Llamar a la aplicación l.

Importante: le recomendamos que proteja esta carpeta a través de un archivo n. A continuación presentamos cada carpeta de la arborescencia de PrestaShop:  admin: contiene la totalidad de los archivos relativos al Back-office de PrestaShop. Salvo caso excepcional.  css: contiene los archivos CSS que no son relativos a los temas.  img: contiene la totalidad de las imágenes. Para más seguridad será necesario renombrarlo tras haber instalado PrestaShop. las de los productos (subcarpeta p) e incluso las del Back-office (subcarpeta admin).htaccess/.  config: contiene los archivos de configuración de PrestaShop. deberá ir a esta carpeta para editarlo manualmente. excepto los de los temas. Cada archivo representa una clase (un objeto) y sus propiedades/métodos. 23/41 .  docs: contiene documentación y debe suprimirse si trabaja en un entorno de producción. mp3…). Existe una subcarpeta por idioma disponible.PrestaShop Documentación: documentación técnica de PrestaShop v1.  js: contiene los archivos Javascript que no son relativos a los temas. Se trata por ejemplo de los archivos Javascript del Back-office.  download: contiene sus productos desmaterializados (ejemplo: pdf.htpasswd  classes: contiene la totalidad de los archivos relativos al modelo objeto de PrestaShop. También contiene el framework Javascript jQuery. En ella encontrará las fotos de las categorías de producto (subcarpeta c).  install: contiene la totalidad de los archivos relativos a la herramienta de instalación de PrestaShop. ya que están administrados por la herramienta de instalación y el Back-office.0 – 16 diciembre 2010 La arborescencia de PrestaShop Nuestro equipo técnico ha querido separar de manera clara e intuitiva los diferentes elementos del software. Se trata por ejemplo de los archivos CSS del Back-office. no debe editarlos manualmente. Deberá suprimirlo una vez haya instalado PrestaShop para más seguridad.  mails: contiene la totalidad de los archivos HTML y TXT relativos a los emails enviados desde PrestaShop. iconos y fotos de PrestaShop. Si desea modificar el contenido de un email.

Compruebe sistemáticamente si no existe ya un método en las clases. no mezcle nunca los códigos XHTML y PHP.txt. 9. c. integradores) A continuación presentamos una lista de buenas costumbres que deben respetarse: 1. Si desea desinstalar definitivamente un módulo. no mezcle nunca los códigos XHTML y CSS. En elle encontramos fundamentalmente las siguientes herramientas: Smarty (motor de plantilla/tema). Comente su código.0 – 16 diciembre 2010  modules: contiene una subcarpeta por módulo disponible. carpeta docs. 8.htaccess/. 2.htpasswd. No guarde sus claves de acceso en su ordenador. en inglés. b.htaccess que incluya el siguiente código: 24/41 . privilegie el uso de los métodos existentes en las clases PHP y/o cree nuevos métodos en dichas clases.txt. La opción "register_globals" debe configurarse en "Off". gracias a un archivo . c. 6. readme_en. No modifique los archivos del corazón de PrestaShop. Swift (motor de envío de emails). Respete las normas de códigos para un código legible y de fácil mantenimiento. La opción "allow_include_url" debe configurarse en "Off". 7. 3.  themes: contiene una subcarpeta por tema disponible.  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). d. elija un nombre de carpeta más complicado. 5. 11.w3. Se presentan por orden de prioridad: 1. Proteja dicha carpeta con un archivo . 3. Renombre la carpeta admin tras la instalación de PrestaShop. readme_fr. Buenos hábitos que deben respetarse (desarrolladores. desarróllelos bajo la forma de módulos para facilitar las actualizaciones. Durante la creación de un tema. Suprima sistemáticamente la carpeta install tras la instalación o actualización de PrestaShop. Securice su acceso al Back-office PrestaShop : a. Securice su instalación de PHP : a. 2. No efectúe nunca una búsqueda SQL en un controlador PHP (archivos . 4. 10. No dude en hacer una donación a PrestaShop si está satisfecho de sus servicios. coloque su código en un archivo CSS separado. deberá hacerlo a través del Back-office de PrestaShop y no directamente en dichas carpetas. FPDF (motor de generación de archivos PDF).org/. La opción "magic_quotes" debe configurarse en "Off". b. Securizar su instalación PrestaShop A continuación le damos algunos consejos para que su tienda PrestaShop sea más segura. b. PEAR Xml parser (herramienta PHP).PrestaShop Documentación: documentación técnica de PrestaShop v1. Suprima sistemáticamente los archivos inútiles tras la instalación o actualización de PrestaShop: a.txt. readme_es. Si desea modificar las traducciones. c. Elija una contraseña compleja (mezcla de cifras y letras) y modifíquela con frecuencia.  tools: contiene herramientas externas integradas en PrestaShop.php en la raíz de PrestaShop). CHANGELOG. o pida a su hosting que lo haga por usted. Ponga la tienda en mantenimiento a través del Back-office de PrestaShop cuando efectúe correcciones. con una mezcla de cifras y letras. Utilice el navegador Firefox o Google Chrome e incite a la gente de su entorno a hacer lo mismo. comience por desinstalarlo a través del Back-office de PrestaShop antes de suprimir su subcarpeta. 4. Prohíba el acceso a sus archivos de tema (templates). Durante la creación de un tema. Valide su código XHTML y su código CSS gracias al validador W3C http://validator.  translations: contiene una subcarpeta por idioma disponible. 5.

Este archivo debe editarse manualmente. si se encuentra en fase de desarrollo.inc.alistapart.php  Si se encuentra en modo producción.inc. deberá suprimir el contenido de la carpeta /tools/smarty/compile/ (sauf index.allow deny from all </FilesMatch> Documentación: documentación técnica de PrestaShop v1.php  El sistema de cache de Smarty ($smarty->caching) se encuentra desactivado ya que no es compatible con el motor dinámico de PrestaShop.php). hay cuatro archivos de configuración:  config/config.config. En PrestaShop.com/articles/sprites 25/41 .php : contiene la configuración del corazón de PrestaShop. debe pasarse a false cuando tiene un sitio Web en producción.  No se olvide de pasar d $smarty->force_compile a false (leer el párrafo "Archivo smarty.  Si se encuentra en modo producción. Esto le permitirá ganar hasta 30% de tiempo al cargar las páginas.inc.  config/settings.inc : contiene la configuración relativa a la herramienta Smarty (motor de template/tema).  El parámetro $smarty->compile_check debe dejarse en false.config. Este archivo se administra directamente desde el Back-office de PrestaShop y la herramienta de instalación.inc. false).  El parámetro $smarty->debugging le permite beneficiarse de informaciones de DEBUG Smarty al mostrar sus páginas. en Off. Mejora de las prestaciones de PrestaShop A continuación le damos algunos consejos que le permitirán optimizar las prestaciones de su instalación PrestaShop.PrestaShop <FilesMatch "\. Si desea modificar esos emplazamientos.0 – 16 diciembre 2010 Opciones de configuración y fine-tuning/performances Este párrafo le permite descubrir las variables de configuración de PrestaShop que no se administran desde el Back-office sino directamente en el seno de los archivos de configuración. Archivo smarty. Por el contrario.php : contiene la definición de las constantes.tpl.  IMPORTANTE: el parámetro $smarty->force_compile.  Active el cache MySQL (o pida a su hosting que lo active) y configúrelo en un valor bastante elevado (ejemplo : 256M).config.inc. a través del método PHP define().php"). en false.inc. le será útil pasar a true para detectar posibles errores. recuerde que debe dejar @ini_set('display_errors'. En contrapartida. 'Off'). le será útil pasar a On para detectar posibles errores. no se olvide de modificar las líneas correspondientes.  config/defines.  config/smarty. Archivo defines. al modificar el archivo . recuerde que debe dejar define('_PS_DEBUG_SQL_'. Anteriormente se encontraban en el archivo settings.tpl$"> order deny. si se encuentra en fase de desarrollo. Archivo config. Este archivo debe editarse manualmente.php  Este archivo contiene la totalidad de los emplazamientos de los archivos.inc.  Utilice técnicas avanzadas de integración tales como Spriting CSS: http://www.php : contiene los accesos a la base de datos así como su número de versión.php.inc. Por el contrario.

'http://css. De esta manera. También aparece una subcarpeta prestashop que corresponde al tema PrestaShop por defecto.com/m/')._THEME_NAME_.'/js/').'img/'). Para ello.net/.com/admin/'). _THEMES_DIR_. vaya al archivo config/defines.'img/p/').xxx.0 – 16 diciembre 2010  Reparta sus elementos estáticos en subdominios diferentes para paralelizar los flujos http de los visitantes. define('_THEME_JS_DIR_'.php y añada lo siguiente: if ($_SERVER['REMOTE_ADDR'] != '127.inc. __PS_BASE_URI__. 'http://img1.xxx. 'http://img2. 'http://img1. /themes/montheme/.xxx. significa que el tema personalizado ha generado el problema. } else { define('_THEME_IMG_DIR_'. No obstante.'img/m/'). define('_THEME_CSS_DIR_'.xxx.com/'). Prácticas 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 línea. _THEMES_DIR_.0. _PS_IMG_. el tema por defecto se mantiene intacto. Además. __PS_BASE_URI__.PrestaShop Documentación: documentación técnica de PrestaShop v1._THEME_NAME_.'/css/'). define('_PS_IMG_'.com/'). define('_THEME_JS_DIR_'.xxx. define('_PS_ADMIN_IMG_'. Sin embargo._THEME_NAME_.'img/c/'). __PS_BASE_URI__. __PS_BASE_URI__. define('_THEME_MANU_DIR_'.'admin/'). define('_THEME_PROD_DIR_'. por ejemplo. este tema respeta escrupulosamente las normas del W3C y fue optimizado para mostrarse correctamente con todos los navegadores más utilizados. define('_THEME_PROD_DIR_'.xxx. define('_PS_ADMIN_IMG_'. para adaptarlo mejor a su actividad. PrestaShop es compatible con eAccelerator: http://www. _THEMES_DIR_. 'http://js.xxx. Crear un nuevo tema Los temas se encuentran en la carpeta /themes/ . Lo más sencillo es partir de un tema ya existente.eaccelerator. es ahí donde deberán ponerse los diferentes temas que pueden aplicarse a la tienda. define('_THEME_CAT_DIR_'.com/p/'). Si el problema desaparece con el tema PrestaShop por defecto.0. Partiremos de ese tema para crear otros. Esto le permitirá ganar en términos de carga de procesador. define('_THEME_CAT_DIR_'. 26/41 . define('_PS_IMG_'.com/'). define('_THEME_CSS_DIR_'. 'http://img1. Empecemos por duplicar la carpeta /themes/prestashop/ y nombrarla. }  Instale un cache de opcode (o pida a su hosting que lo haga). Una de las razones es que la modificación 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. le aconsejamos que conserve intacto el tema por defecto de PrestaShop.xxx.com/c/').com/'). es posible modificar el tema de su tienda. 'http://img1.'/img/').1') { define('_THEME_IMG_DIR_'. 'http://img1. define('_THEME_MANU_DIR_'.

tpl manufacturer. Página de plano del sitio Web. Página que lista los fabricantes. Página de detalle de una escena en una categoría de productos. Página de solicitud de devolución por parte de un cliente. Página que lista los productos en el carrito de un cliente. Página que lista los productos de un fabricante. Página que lista los vales de un cliente.tpl best-sales.tpl . Página del formulario de contacto. Página de mantenimiento del sitio.0 – 16 diciembre 2010 Arborescencia de un tema Archivo / Carpeta Descripción Imagen utilizada como previsualización en el apartado de la página Panel de administración >> Preferencias >> Apariencia.tpl order-payment.tpl scenes. Página que lista los productos en el seno de una categoría.tpl product-list. Página que lista los productos añadidos recientemente. Página mostrada cuando la página solicitada no se encuentra (erreur 404). Página que lista los descuentos. Páginas informativas (pestaña Outil >> CMS del BO). Página de detalle de una línea del carrito. Camino de navegación (raíz de navegación).tpl contact-form. Página de detalle de un producto. Página de detalle del pedido de un cliente. Página de modificación de los datos personales de un cliente.tpl category-tree-branch. Pie de página. Menú que permite filtrar una lista de productos. Es llamado por todas las páginas que listan productos. Página que lista los vales descuento de un cliente. Página de inicio. Página que lista las direcciones de un cliente.tpl maintenance. Página que lista las mejores ventas.tpl cms. Página del proceso de pedido: Etapa 2 – elección del modo de entrega.tpl history. Página de identificación y de creación de cuenta.tpl address.PrestaShop Documentación: documentación técnica de PrestaShop v1.tpl order-return. La presencia de esta imagen es obligatoria. Encabezado. facturación).tpl manufacturer-list.tpl order-steps. Es llamado por todas las páginas que listan productos.tpl identity.tpl order-slip.tpl order-detail.tpl breadcrumb. Página del proceso de pedido: Etapa 3 – elegir modo de pago. Es llamado por la totalidad de las páginas.tpl search.tpl discount.tpl sitemap. Utilizado únicamente para el bloque Categorías.tpl password.tpl footer. Página de cambio de contraseña de un cliente. Página de inicio de cuenta de un cliente. el tema no puede seleccionarse en este apartado. Página de detalle de la devolución de un cliente. Muestra los errores.jpg 404.tpl pagination. Página que lista los pedidos de un cliente.tpl errors.tpl order-carrier. Lista de los productos. Página de confirmación de pedido (después del pago).tpl order-address. Es llamado por todas las páginas que listan productos.tpl new-products.tpl authentication. Barra de evolución del proceso de pedido.tpl product-sort.tpl order-follow. Página que lista los resultados de una búsqueda.tpl shopping-cart.tpl product. 27/41 preview.tpl header.tpl category. Página del proceso de pedido: Etapa 1 – Elección de las direcciones (entrega.tpl addresses. Botones que permiten cambiar de página en una lista de productos.tpl prices-drop.tpl shopping-cart-productline.tpl order-confirmation. Página para añadir o modificar una dirección cliente.tpl my-account. si no.tpl index.

Contiene las imágenes del tema. Sustituye las imágenes adecuadas por sus propias creaciones. Archivo preview.org/. redimensionarla y copiar el archivo en lugar del archivo preview. Consejos para editar un tema PrestaShop Firebug Para simplificarle el trabajo de integración.tpl. le recomendamos que deje los archivos de origen.jpg Una vez que haya terminado su tema. Para hacer una captura de pantalla de una página Web completa de un tamaño superior a la imagen. Página que lista los productos de un proveedor. le recomendamos que deje los archivos de origen. Estos archivos son generados por el Back Office y su contenido debe modificarse a partir de la herramienta Panel de Administración >> Herramientas >> Traducciones.tpl que podrá modificar en función de sus necesidades. Link útil: http://www. Conserve únicamente en estas carpetas los archivos . Es posible hacer esta operación sin modificar los archivos originales de los módulos. haga un test para mostrar las diferentes páginas de su tema en los navegadores más utilizados (Firefox. Tema de los módulos Algunos módulos poseen sus propios archivos .PrestaShop Documentación: documentación técnica de PrestaShop v1. le recomendamos que se familiarice con add-on Firebug para Firefox. Contiene las hojas de estilo del tema. Archivos de traducción. Normas W3C y compatibilidad inter-navegadores Es aconsejable comprobar la compatibilidad de las páginas de su tema con las normas del W3C con ayuda del validador propuesto por este organismo en la página: http://validator. Página de zoom de la foto de un producto.0 – 16 diciembre 2010 supplier-list. Internet Explorer. Dichos elementos se utilizarán prioritariamente sobre los originales. El archivo global. apartado Modificar las traducciones. Scripts JavaScript utilizados en el tema. Excepto si es un usuario avanzado.jpg que ya se encuentra presente en el tema. Para terminar. le recomendamos que deje los archivos de origen. no olvide hacer una captura de pantalla. que le permitirá delimitar rápidamente cada bloque y mostrar las propiedades CSS que se aplican a cada uno. 28/41 .css incluye los elementos para dar forma a la mayor parte del sitio Web.com/forums/viewthread/16736 JavaScript Las aplicaciones JavaScript deben archivarse en la carpeta js.prestashop.tpl css img js lang Página que lista los proveedores.tpl supplier. Si usted crea su propio tema. puede resultar muy práctico recurrir a un add-on de Firefox como FireShot o ScreenGrab. en la carpeta de su tema. también deberá adaptar el de los módulos.w3.tpl thickbox. Opera). Safari. cree una carpeta módulos: /themes/montheme/modules/ Y copie en ella los módulos que va a modificar. Para ello. Excepto si es un usuario avanzado. Chrome. Excepto si es un usuario avanzado.

Este nombre debe estar compuesto únicamente por cifras. realizar tratamientos (actualizaciones en masa. Llamaremos al módulo "My module". etc. Se trata tanto de los módulos integrados a la solución como módulos terceros añadidos posteriormente. puesto que el sistema de traducción de PrestaShop es muy flexible. vamos a crear un módulo rudimentario. empecemos por crear la carpeta que lo va a contener. Estructura de base de un módulo La estructura de base es sencilla y similar para cada módulo. etc. en la medida de lo posible. Uno de los principales intereses de un módulo es añadir a la solución aplicaciones sin modificar la base de la misma. texto.). aunque. Esta se llamará como el nombre que queramos dar al módulo. Se pueden crear módulos más o menos configurables.). 29/41 . guiones y paréntesis (-_) todo en minúsculas. ya que por una parte es interesante acostumbrarse a desarrollar en inglés y por otra parte. birthdaypresent. Para empezar a crear un módulo.PrestaShop Documentación: documentación técnica de PrestaShop v1. importar. lo que facilita la implementación de nuevos módulos. Cuanto más se pueda configurar. más sencillo será su uso y por lo tanto responderá a las necesidades de un mayor número de personas. Los módulos pueden mostrar contenido (bloques. ya que las posibilidades de creación son numerosas. Para describirla. exportar. será muy fácil hacer la traducción del módulo. sea desafortunadamente inevitable para el desarrollo de ciertas aplicaciones. Veremos ese apartado más adelante.0 – 16 diciembre 2010 Crear un módulo PrestaShop Principio de los módulos Los módulos son ideales para dar rienda suelta a su imaginación y a su talento de desarrollador. entrar en interfaz con otros programas. Arborescencia de los módulos La solución PrestaShop contiene una carpeta /modules en las que se agrupan todos los módulos. Este ejemplo se creará voluntariamente en inglés.). a veces. Cada módulo está archivado en una subcarpeta distinta en el interior de la carpeta /modules (bankwire. Tendrá el mismo nombre que la carpeta padre. para facilitar una futura actualización que borraría las modificaciones aportadas a la base. etc. etc. Es la razón por la que. el desarrollo de un módulo deberá evitar al máximo la modificación del corazón de la solución. letras. Esta carpeta debe contener un archivo PHP responsable del tratamiento de datos.

Atribución de un nombre a nuestra instancia de clase. $this->version = 1. se llama a menudo como el módulo. $this->version = '1.PrestaShop Documentación: documentación técnica de PrestaShop v1.'). parent::__construct(). } } ?> public function install() { if(parent::install() == false) return false. Un archivo TPL será útil en el caso de mostrar datos en el Front Office. } public function __construct() Constructor de la clase. y por lo tanto que el repertorio padre.0'.php'). La función basename() separa el nombre el archivo del resto del camino. mostrado en la lista de módulos. Número de versión del módulo. ModuleGridEngine. 30/41 . __FILE__ contiene siempre el camino absoluto).php'. Blocks. $this->description = $this->l('Description of my module. Los archivos TPL pueden tener cualquier nombre. Permite recuperar el nombre del archivo. $this->displayName = $this->l('My module'). return true.3) aparece lo siguiente: $this->page = basename(__FILE__.0. Además. __FILE__ es una costante mágica que contiene el camino y el nombre del archivo (desde PHP 4. Llamar al constructor padre. $this->tab = 'Test'. Stats) o de un nombre personalizado. En este último caso. Cuando sólo hay uno. Título del cuadro que contendrá el módulo en la lista de módulos del Back Office.php' sirve para suprimir dicho prefijo. ModuleGraph) poniendo así a nuestra disposición algunas propiedades y métodos. $this->tab = 'Test'. Puede tratarse de un nombre que ya existe (Products. Fichier mymodule.php) o de cualquier clase derivada (PaymentModule.0 – 16 diciembre 2010 Este archivo es suficiente para crear un módulo básico. pero es conveniente acostumbrarse a darles nombres explícitos. esta clase hereda de la clase Módulo (/classes/Module.0. Otros archivos y subcarpetas podrán completarlo más tarde. Esta tendrá el mismo nombre que el módulo. '. Los archivos TPL deben estar situados en la raíz del módulo. parent::__construct(). sin la extensión '. En antiguas versiones de PrestaShop (< 1. se creará un nuevo cuadro con dicho título. Debe llamarse al constructor obligatoriamente antes de la utilización de los métodos $this->l() y una vez se haya guardado el nombre.2. y el argumento '.php va a contener la clase de nuestro módulo. El archivo mymodule. $this->name = 'mymodule'.php <?php class MyModule extends Module { public function __construct() { $this->name = 'mymodule'.

ya que lo único que hace es comprobar la devolución del método install() de la clase Module. copia de archivos. Descripción del módulo mostrado en la lista de módulos del Back Office. Para permitir el acceso a la interfaz de configuración de un módulo. return true. Para ello. el método de la clase madre sería llamado automáticamente y el resultado sería el mismo.')._DB_PREFIX_. No obstante. vamos a añadir un icono al lado del nombre del módulo en la lista de los módulos. en la pestaña Panel de administrador >> Módulos. A continuación. el módulo podrá contener un método uninstall() que permita personalizar la desinstalación del módulo. De la misma manera. en el párrafo "Traducción de los módulos ". Nombre del módulo mostrado en la lista de módulos del Back Office. es posible hacer módulos configurables y por lo tanto adaptables a las necesidades de un gran número de usuarios. parent::uninstall(). en el párrafo "Traducción de los módulos ". El llamamiento al método l() se explica más adelante. } Tal cual. el resultado obtenido con el código anterior. El llamamiento al método l() se explica más adelante.).php que añade a su vez una ocurrencia a la tabla ps_module. basta con poner una imagen 16x16 en la carpeta del módulo y llamarla logo. 31/41 . Fichier mymodule.intval($this->id)). Veremos más adelante como traducir el texto 'My module'. este método no es imprescindible. ya que nos servirá para hacer controles y otras acciones durante la instalación del módulo (creación de tablas. creación de variables de configuración.famfamfam. } Para terminar nuestro módulo de base.0 – 16 diciembre 2010 $this->displayName = $this->l('My module'). Configuración de un módulo Como decíamos anteriormente.PrestaShop Documentación: documentación técnica de PrestaShop v1.com/lab/icons/silk/ propone una gran biblioteca de iconos gratuitos. public function install() { if(parent::install() == false) return false. Por otra parte. Un clic en el botón llama al método install() del módulo que llama a su vez al método install() de la clase Module. Un ejemplo de utilización de este método: public function uninstall() { Db::getInstance()->Execute('DELETE FROM `'. etc. hay que añadir una función getContent() a la clase de nuestro módulo. El sitio http://www. mencionamos este método aquí.php (extrait) public function getContent () { // Instructions de la page de configuration… } El simple hecho de añadir esta función provoca la aparición de un enlace >> Configurar. $this->description = $this->l('Description of my module.php.'block_cms` WHERE `id_block` ='.gif. si este método estuviera ausente.

'mymodule. 'mymodule. en este caso "My module" y en el campo Trasladar el módulo a elegir "Left column blocks" . } Este método permite que se muestre el aspecto final en la columna de la izquierda del Front Office. } public function hookRightColumn($params) { return $this->hookLeftColumn($params). return true.tpl'). vamos a modificar el código de nuestro módulo de la siguiente manera: Fichier mymodule. Consiste simplemente en llamar a la función hookLeftColumn(). Pulse en Trasladar un módulo. return $this->display(__FILE__. después pulsar en guardar para validar. A partir de este momento ya es posible trasladar este módulo al hook que se desee y en el lugar que se quiera en dicho hook. La elección del o de los hooks a los que se va a trasladar el módulo se hace en la pestaña Panel de administración >> Módulos >> Posiciones del Back Office. Para ello.PrestaShop Documentación: documentación técnica de PrestaShop v1. } … public function hookLeftColumn($params) { global $smarty. 32/41 . se comunica el fracaso al corazón. } Este método permite que se muestre el aspecto final en la columna de la derecha del Front Office. return $this->display(__FILE__. para mostrar un bloque o para ejecutar un tratamiento en un momento determinado.php (extrait) public function install() { if(parent::install() == false OR !$this->registerHook('leftColumn')) return false. public function hookRightColumn($params) { return $this->hookLeftColumn($params). hay que permitirle utilizar uno de los hooks que hemos visto anteriormente. por ejemplo. } if(parent::install() == false OR !$this->registerHook('leftColumn')) Si la instalación o el traslado falla. public function hookLeftColumn($params) { global $smarty.0 – 16 diciembre 2010 Trasladar un módulo Para que un módulo se traslade a un lugar en el Front Office o en el Back Office.tpl'). en el campo Módulo seleccionar el módulo que se va a trasladar.

PrestaShop Documentación: documentación técnica de PrestaShop v1. con ayuda de las flechas o con un arrastrar-colocar. 33/41 . Volver a la página Panel de administración >> Módulos >> Posiciones. y en el cuadro "Left column blocks" desplazar el recuadro "My module" hacia el lugar deseado. Mostrar un módulo Nuestro módulo necesita mostrar algo en la columna de la izquierda del Front Office.0 – 16 diciembre 2010 Atención: es inútil trasladar un módulo a un hook para el que no se ha implementado ningún método.

tpl que hemos pasado en parámetros del método display() en el método hookLeftColumn().tpl (extrait) <!-.tpl para añadir el siguiente contenido: Fichier mymodule.0 – 16 diciembre 2010 Como nos muestra Firebug. la columna de la izquierda de PrestaShop está materializada por una etiqueta <div> con el nombre de "left_column". el archivo que contiene los elementos que van a mostrarse es.Block mymodule --> <div id="mymodule_block_left" class="block"> <h4>Welcome!</h4> 34/41 . return $this->display(__FILE__. Editemos el archivo mymodule. en nuestro caso. La función hookLeftColumn() va a mostrar como aparece nuestro módulo en esta div. 'mymodule.tpl'). Como ya hemos visto.PrestaShop Documentación: documentación técnica de PrestaShop v1. el archivo mymodule.

php. Por lo tanto..php. vamos por supuesto a llamar al archivo TPL de nuevo para que Smarty se encargue de mostrarlo. Debe hacerse antes del primer display().. Carga la configuración de PrestaShop. Fichier mymodule_page. es decir los archivos header.php en nuestra carpeta mymodule./. ?> global $smarty.'/mymodule_page.inc. include('./header.php'). include('. Recupera la instancia corriente de Smarty. 35/41 .tpl.tpl.tpl Welcome to my shop! Nota: le recomendamos que nombre sus archivos TPL con nombres explícitos para encontrarlos más fácilmente en el Back Office de PrestaShop posteriormente (en especial a nivel de las traducciones). include('.php'). es decir un archivo mymodule_page./config/config. Y en el archivo mymodule_page... $smarty->display(dirname(__FILE__). De momento el hiperlink no conduce a ninguna parte./Block mymodule --> Al cargar de nuevo la página del Front Office.PrestaShop Documentación: documentación técnica de PrestaShop v1. include('. vemos aparecer el módulo.php').tpl./config/config././. que en nuestro caso es: Fichier mymodule_page.php'). vamos a crear un archivo mymodule_page.php Welcome to my shop! Un clic en el link nos conduce a nuestra página./. y añadir texto./header./footer.php').. include('. en el que copiaremos el contenido de nuestro archivo mymodule_page.php <?php global $smarty../. El código de nuestro archivo pasa así a: Fichier mymodule_page.tpl')..tpl y footer.inc. Para hacer un test.. pero el aspecto no es muy "PrestaShop". basta con crear el archivo mencionado en mymodule..0 – 16 diciembre 2010 <div class="block_content"> <ul> <li><a href="{$base_dir}modules/mymodule/page.php" title="Click this link"> Click me! </a></li> </ul> </div> </div> <!-.. pero también vamos a provocar la llamada de archivos TPL encargados de mostrar el resto de la interfaz del Front Office.

Hay que tener cuidado en no utilizar un nombre similar a una variable existente para no suprimirla...php'). Estos archivos llaman respectivamente a header. $smarty->assign('messageSmarty'./footer. Todas las variables Smarty son globales. $message). include(‘MyModule./.tpl que hacen posible el aspecto final. ¡el resultado es mucho más atractivo! ..tpl').inc./. img_ship_dir URL de la carpeta imagen de los transportistas.php').tpl. img_prod_dir URL de la carpeta imagen de los productos. A continuación presentamos una lista de variables Smarty comunes a todas las páginas: Archivo / Carpeta Descripción img_ps_dir URL de la carpeta imagen.php. ?> A partir de este momento. es decir por el contenido de todos los módulos trasplantados al hook correspondiente a dicha columna. El usuario puede crear sus propias variables y usarlas en los archivos TPL. $mymodule = new MyModule(). se crea una variable. Llamada de nuestro archivo mymodule_page. en especial afectando a cada variable Smarty que corresponde a los hooks./footer./.php'). su contenido.php'). se puede pedir a Smarty que muestre el contenido de dicha variable en el archivo page. img_manu_dir URL de la carpeta imagen de los fabricantes. img_sup_dir URL de la carpeta imagen de los proveedores. $message = $mymodule->l('Welcome to my shop!'). include('.PrestaShop include('. $smarty->display(dirname(__FILE__). img_cat_dir URL de la carpeta imagen de las categorías.tpl y a footer..php').'/mymodule_page. Recorre los archivos TPL en búsqueda de elementos dinámicos para sustituirlos por los datos adecuados antes de mostrar el resultado obtenido. Si cargamos de nuevo la página del Front Office. Por ejemplo.'/mymodule_page./.. el elemento{$HOOK_LEFT_COLUMN} será sustituido por el contenido de la columna de la izquierda../header. Documentación: documentación técnica de PrestaShop v1. $mymodule->display(dirname(__FILE__). img_lang_dir URL de la carpeta imagen de los idiomas.tpl {$messageSmarty} De la misma manera./config/config.. Fichier mymodule_page. include('. Se aconseja evitar nombres de variables demasiado sencillos como "productos". 36/41 .0 – 16 diciembre 2010 Llamada de los archivos PHP encargados de mostrar el resto del formato.tpl').. en el archivo mymodule_page. include('. Fichier mymodule_page.-) Utilización de Smarty Smarty es el motor de plantillas utilizado en PrestaShop.tpl para mostrarlo.php <?php global $smarty. Dichos elementos aparecen entre llaves { … }.

URL de la carpeta de los módulos. Nombre del cliente (cuando está conectado).PrestaShop Documentación: documentación técnica de PrestaShop v1. los textos aparecen de manera estática. …). URL de la carpeta javascript del tema. en lugar de utilizar los comentarios HTML que se encuentran en el código fuente de la página. URL del origen del usuario. Indica si los impuestos están activados. URL de la carpeta del tema corriente. Código ISO del idioma utilizado. Nombre de productos en el carrito. en los archivos TPL los textos estáticos pasarán a ser elementos dinámicos que Smarty sustituirá por la traducción correspondiente en el idioma elegido. se pueden usar los comentarios Smarty {* … *}. Lista de los diferentes idiomas disponibles. Cookie del usuario. Langue Back Office Front Office Vamos a ver como es posible la traducción de nuestros textos.php ya hemos visto brevemente el uso del método l() : $this->displayName = $this->l('My module'). Indica si el usuario dispone de una cuenta cliente.'). $this->description = $this->l('Description of my module. Objet Currency (divisa actualmente utilizada). URL de la carpeta de descarga. Sin embargo. Esta labor va a estar simplificada por Smarty así como por la herramienta de traducción de PrestaShop. Nombre de la página. Para ello. Modo de redondeo utilizado. sea cual sea el idioma elegido en el Front Office o en el Back Office.php. en los archivos PHP. {* Cette chaîne est un commentaire et ne sera pas affichée.0 – 16 diciembre 2010 img_dir css_dir js_dir tpl_dir modules_dir mail_dir pic_dir lang_iso come_from shop_name cart_qties cart currencies id_currency_cookie currency cookie languages logged page_name customerName priceDisplay roundMode use_taxes URL de la carpeta imagen del tema. se puede añadir la siguiente instrucción en el archivo TPL : {debug} Para poner una parte de un archivo TPL en comentario. utilizaremos. Actualmente. Por lo tanto. URL de la carpeta de las plantillas de email. ID de la divisa utilizada. Para mostrar todas las variables Smarty disponibles en una página determinada. el método l() de la clase abstracta Module. El carrito. URL de la carpeta css del tema. *} Traducción de los módulos Hemos redactado nuestro texto en inglés y queremos traducirlo al francés. 37/41 . Las diferentes divisas disponibles. los textos del módulo siguen estando en inglés. en mymodule. Nombre de la tienda. De esta manera. Modo de mostrar los precios (con o sin IVA.

La sección correspondiente a nuestro módulo se despliega ya que contiene cadenas que aún no se han traducido. Para ello. Esto nos permitirá traducir nuestras cadenas de caracteres en los idiomas instalados en nuestra tienda. $_MODULE['<{mymodule}prestashop>mymodule_f42c5e677c97b2167e7e6b1e0028ec6d'] = 'Haga clic en mí !'.php con el contenido de las traducciones. seleccionar en la lista "Traducción de los módulos".tpl : <h4>Welcome!</h4> … Click me! <h4>{l s=' Welcome!' mod='mymodule'}</h4> {l s='Click me!' mod='mymodule'} El uso de elementos dinámicos nos da : … Y en page.0 – 16 diciembre 2010 En mymodule. Separar los posibles apóstrofes de la cadena con una barra invertida '\'.tpl : Welcome to my shop! Nos da: {l s='Welcome to my shop!' mod='mymodule'} El parámetro 'mod' es obligatorio en las plantillas del módulo para que la herramienta de traducción pueda hacer la correspondencia entre la cadena de caracteres que deben traducirse y la traducción. $_MODULE = array(). 38/41 . vaya a la pestaña Panel de administración >> Herramientas >> Traducciones y en el apartado Modificar las traducciones. Fichier es. $_MODULE['<{mymodule}prestashop>mymodule_2ddddc2a736e4128ce1cdfd22b041e7f'] = 'Mi módulo'.php <?php global $_MODULE. En la carpeta mymodule correspondiente a nuestro módulo.PrestaShop Documentación: documentación técnica de PrestaShop v1.'. $_MODULE['<{mymodule}prestashop>mymodule_d6968577f69f08c93c209bd8b6b3d4d5'] = 'Descripción de mi módulo. después pulsar en la bandera francesa para traducir dicho módulo al francés. $_MODULE['<{mymodule}prestashop>mymodule_9a843f20677a52ca79af903123147af0'] = 'Bienvenido !'. para que ésta pueda mostrarse. Sólo deben usarse apóstrofes ‘ para delimitar las cadenas que hay que traducir. $_MODULE['<{mymodule}prestashop>page_c0d7cffa0105851272f83d5c1fe63a1c'] = 'Bienvenido a mi tienda'. se ha creado un archivo es. Basta entonces con rellenar los campos de la parte derecha con los equivalentes en francés de las cadenas situadas a la izquierda y validar pulsando en “guardar cambios” en la parte superior o inferior de la página.

Si elegimos el francés como idioma en el Front Office o en el Back Office.. $this->lang = false. } } ?> 4. podría originar problemas.0 – 16 diciembre 2010 Estos archivos de idiomas no deben editarse directamente ya que la utilización de un editor poco apropiado para modificarlos. $table = 'test'.php en la carpeta clases. 39/41 . class AdminTest extends AdminTab { public function __construct() { $this->table = 'test'. public function getFields() { parent::validateFields().PrestaShop Documentación: documentación técnica de PrestaShop v1. En su archivo. protected protected protected protected protected $fieldsRequired = array('test').php en la carpeta admin/tabs. podemos ver el módulo traducido. $this->edit = true. Las traducciones deben realizarse a partir de la herramienta de traducción del Back Office. $this->delete = true. Langue Back Office Front Office Para que la herramienta de traducción de PrestaShop tenga en cuenta las traducciones. 5.php').'/. así como su clase Este apartado le permite crear en unos minutos una nueva pestaña o subpestaña en el Back-office de PrestaShop. Crear una pestaña en el Back-office. test (VARCHAR 32)   Cree un archivo vacío llamado Test. $fields['test'] = pSQL($this->test). $identifier = 'id_test'. $this->className = 'Test'. llamada ps_test. y que tenga dos campos: id_test (INT 11). Siga las siguientes etapas en orden:  Añada una nueva tabla a su base de datos PrestaShop. $fieldsValidate = array('test' => 'isGenericName'). $fieldsSize = array('test' => 64). return $fields. En su archivo añada las siguientes líneas: <?php include_once(PS_ADMIN_DIR. es necesario que los archivos PHP y TPL que contienen las cadenas que van a traducirse se encuentren situados en la raíz del módulo. Cree un archivo vacío llamado AdminTest. añada las siguientes líneas: <?php class Test extends ObjectModel { /** @var string Name */ public $test./classes/AdminTab.

$this->displayFlags($languages. echo ' <form action="'. Herramienta de informes de errores: el "Bug Tracker" La mayoría de los problemas a los que se ven confrontados los miembros de nuestra comunidad aparecen en esta herramienta que todo el mundo puede consultar en la siguiente dirección 40/41 .' <fieldset><legend><img src=".'.$this->table.$language['id_lang'].'</div> </fieldset> </form>'. $obj = $this->loadObject(true). 'align' => 'center'. v1.$this->token.'" value="'.$this->table.'" method="post" class="width3"> '.$obj->id. 'name'). intval($language['id_lang'])). } parent::__construct().'" class="button" /> </div> <div class="small"><sup>*</sup> '. Para afinar su búsqueda. $defaultLanguage.$language['id_lang'].($obj->id ? '<input type="hidden" name="id_'. foreach ($languages as $language) echo ' <div id="name_'. echo ' <script type="text/javascript"> id_language = Number('. no dude en utilizar el formulario de búsqueda avanzada que se encuentra a su disposición.com/forums donde podrá efectuar una búsqueda a partir de las palabras claves correspondientes.$currentIndex. } } ?> En caso de problema Si tiene algún problema.'" style="display: '.($language['id_lang'] == $defaultLanguage ? 'block' : 'none')..'</legend> <label>'. echo ' <div class="clear"></div> </div> <div class="margin-form"> <input type="submit" value="'.$this->l('Profiles').$this->l('Required field').$defaultLanguage. le recomendamos que siga las siguientes etapas para encontrar ayuda: Foro oficial PrestaShop Le damos cita en nuestro foro en http://www.'" name="submitAdd'.htmlentities($this>getFieldValue($obj.'=1&token='.prestashop. $languages = Language::getLanguages().'&submitAdd'.$this->l('Name:').'" /><sup> *</sup> </div>'.' </label> <div class="margin-form">'.').0 – 16 diciembre 2010 public function displayForm() { global $currentIndex.$this->l(' Save '). 'width' => 200)). 'test' => array('title' => $this->l('Name'). 'UTF-8'). float: left.PrestaShop Documentación: documentación técnica de PrestaShop $this->fieldsDisplay = array( 'id_test' => array('title' => $this->l('ID').'" />' : ''). $defaultLanguage = intval(Configuration::get('PS_LANG_DEFAULT')).'" value="'.png" />'. 'name'. 'name'.$this->table. ENT_COMPAT./img/admin/profiles. 'width' => 25). $this->identifier = 'id_test'. </script>'. Algunos foros. también tienen temas "fijos" de manera persistente en la parte superior de los temas que contienen información muy útil."> <input size="33" type="text" name="name_'.

net/fr/communaute/subversion/svnx/telecharger/ URL http://tortoisesvn.fr www. Para poder participar en nuestro foro es necesario crear una cuenta.prestashop.com www. tema.addons.com/trunk/ Para utilizar esta versión SVN para hacer test o desarrollos. blog).fr www.prestashop.de/ http://www.com/fr www.prestashop.prestashop. Para ello. también se puede consultar en tiempo real en nuestro servidor SVN cuyo "trunk" es accesible públicamente en lectura en la siguiente dirección: http://svn. 41/41 . Bug Tracker. indíquenoslo. Dicha corrección aparecerá en la siguiente versión de PrestaShop.alwins-world. pulse en Inscribirse en la parte superior derecha del sitio Prestashop. Si no es el caso. haga su pregunta en el foro.prestashop.prestashop. pueden darla para que un desarrollador la corrija.prestabox.com www.com/es www. Hosting de tiendas PrestaShop sin imposiciones técnicas.es Descripción Sitio de la empresa PrestaShop (editor).PrestaShop Documentación: documentación técnica de PrestaShop v1. en inglés. demostración. de la manera más detallada posible. Sitio de la comunidad PrestaShop (Foros.0 – 16 diciembre 2010 http://www. en nuestro Bug Tracker. Someter un error en el Bug Tracker Si su problema viene de un bug demostrado.addons. francófona e hispanófona).com. por favor. …). puede por ejemplo utilizar unos de los siguientes softwares (lista no exhaustiva): Systema de explotación Linux Mac Windows Software KDESvn svnX TortoiseSVN http://kdesvn. las personas que hayan encontrado la solución a un problema presente. utilizando el siguiente formulario: http://www.net/ Participar en el foro Si a pesar de todo. Marketplace de la solución PrestaShop que propone módulos y temas para su tienda (versiones anglófona.com/bug_tracker/report/bug/ Sitios oficiales PrestaShop A continuación presentamos la lista de los sitios oficiales de PrestaShop que le permitirán ir más allá en su experiencia del comercio en línea: Dirección www. en el apartado correspondiente (idioma. no ha encontrado ninguna solución.prestashop.prestashop.addons.prestabox.com www.com/bug_tracker/.lachoseinteractive.prestabox.

Sign up to vote on this title
UsefulNot useful