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

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

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

etc. Existen paquetes de idiomas. Etapa 1 – Bienvenido ¿En qué idioma quiere efectuar la instalación? Seleccione el idioma que se utilizará en la ayuda de instalación. et www. Para efectuar la actualización de una tienda PrestaShop a una versión más reciente. 7/41 . disponibles gratuitamente que le permiten traducir tanto el Front Office como el Back Office de su tienda en la siguiente dirección: http://www. virus. sólo se propondrá la instalación completa de PrestaShop.0 – 16 diciembre 2010 Sensibilización a las copias de seguridad Porque un incidente puede surgir en cualquier momento (mala manipulación. Pulse en para validar esta epata y pasar a la siguiente. 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.mitienda.com/es/downloads/ Método de instalación Para lanzar una nueva instalación de PrestaShop. alteración de datos.com si se encuentra en la raíz de su sitio (o localhost en local). etc. Es importante hacer copias de seguridad de ambas partes para no correr el riesgo de perder la mitad de su tienda. Lanzar la instalación Lanzar la instalación.prestashop. pedidos. francés y español.PrestaShop Documentación: documentación técnica de PrestaShop v1. marque Actualización. 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. cuentas clientes. marque Instalación completa de PrestaShop. Si el asistente de instalación no detecta la instalación anterior. a la carpeta que contiene sus archivos PrestaShop. Por ejemplo. los archivos puestos a disposición para las descargas del cliente.com/shop/ si se encuentra en una subcarpeta shop (o localhost/shop/ en local).mitienda. es preferible hacer copias de seguridad de su tienda con frecuencia. etc. La ayuda de instalación PrestaShop se encuentra disponible en tres idiomas: inglés. escribir www. 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.).

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

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

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

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

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

Copia de seguridad Copia de seguridad de sus traducciones Para exportar sus traducciones. Repita la operación para cada idioma que quiera exportar. utilice la herramienta del panel de administración de PrestaShop prevista para tal efecto: Seleccione el idioma que quiera exportar y pulse en Exportar.PrestaShop Documentación: documentación técnica de PrestaShop v1. 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). 13/41 . por lo tanto le recomendamos que antes de actualizar su tienda se entrene en una tienda test.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.

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. También deberá instalar de nuevo los módulos terceros utilizados en su anterior tienda. Por ejemplo.htaccess con la herramienta: Después añada la información que contenía el anterior archivo . etc.php 14/41 . suprimiendo posibles elementos que estén duplicados.prestashop. 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. renombre de nuevo las carpetas que lo contienen. Para hacer una copia de los archivos de la antigua versión de su tienda. 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. plantillas de emails. Asegúrese de que son compatibles con la nueva versión de PrestaShop. ha modificado el archivo .htaccess en el nuevo. cree una nueva carpeta: /prestashop_old Y copie en ella el conjunto de su tienda PrestaShop. Si utiliza un tema personalizado.).inc.inc. Si por alguna razón. 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. la futura actualización se instalará en la misma carpeta.PrestaShop Documentación: documentación técnica de PrestaShop v1.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.htaccess.0 – 16 diciembre 2010 Copia de seguridad de sus archivos PrestaShop Si su tienda PrestaShop está instalada en una subcarpeta de su sitio Web. regenere un nuevo archivo . deberá realizar de nuevo las modificaciones en la nueva instalación a partir de la copia de seguridad que ha hecho anteriormente.php de su antigua tienda hacia la nueva: /myshop/config/settings.

Esto también permite obtener un mayor rendimiento. ya que el software contiene únicamente el código PHP necesario para un funcionamiento correcto (y no un conjunto de librerías genéricas). Symfony.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. 15/41 . como nos muestra el siguiente esquema: Este modelo retoma el principio de MVC ("Modelo-Vista-Controlador").. Nuestro equipo técnico ha decidido no utilizar Framework PHP (Zend Framework.PrestaShop Documentación: documentación técnica de PrestaShop v1..  Modificaciones rápidas y simples para los desarrolladores.  La posibilidad para los grafistas/integradores de trabajar en la carpeta temas sin necesidad de comprender ni leer el código PHP.  La posibilidad para los desarrolladores de preparar datos y módulos complementarios para el integrador.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.myshop. Arquitectura general PrestaShop es un software basado en una arquitectura tres capas. CakePHP.) para permitir una mayor visibilidad del código y una modificación más rápida. Las ventajas de la arquitectura tres capas son numerosas:  La posibilidad de comprender fácilmente el código fuente del software. simplificándolo y haciéndolo accesible a todos.

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

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

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

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

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

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

tpl.  La carpeta lang contiene las traducciones del tema.tpl. No se olvide de incluir los derechos correspondientes (ej: CHMOD 666) para que la herramienta de Back-office pueda guardar las traducciones.tpl (plantillas Smarty) así como el archivo preview.PrestaShop Documentación: documentación técnica de PrestaShop v1.  La carpeta js contiene los archivos relativos a la Javascript del tema.jpg. 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. 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. si se ha traducido como se ha indicado anteriormente. permite mostrar el texto en el idioma seleccionado. Llamar a la aplicación l. Nota: las carpetas css.  La raíz del tema contiene únicamente los archivos .  La carpeta img contiene los archivos relativos a las imágenes del tema. 22/41 . 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. en hello. img y js no son indispensables para el funcionamiento de un tema personalizado.

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

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

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

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

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

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

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

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

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

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

PrestaShop Documentación: documentación técnica de PrestaShop v1. y en el cuadro "Left column blocks" desplazar el recuadro "My module" hacia el lugar deseado. con ayuda de las flechas o con un arrastrar-colocar. Mostrar un módulo Nuestro módulo necesita mostrar algo en la columna de la izquierda del Front Office. 33/41 . Volver a la página Panel de administración >> Módulos >> Posiciones.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.

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

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

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

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

se ha creado un archivo es. La sección correspondiente a nuestro módulo se despliega ya que contiene cadenas que aún no se han traducido. $_MODULE['<{mymodule}prestashop>mymodule_2ddddc2a736e4128ce1cdfd22b041e7f'] = 'Mi módulo'. 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. $_MODULE['<{mymodule}prestashop>mymodule_f42c5e677c97b2167e7e6b1e0028ec6d'] = 'Haga clic en mí !'.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. para que ésta pueda mostrarse.PrestaShop Documentación: documentación técnica de PrestaShop v1. 38/41 .'. seleccionar en la lista "Traducción de los módulos". $_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 !'.php <?php global $_MODULE.0 – 16 diciembre 2010 En mymodule. Esto nos permitirá traducir nuestras cadenas de caracteres en los idiomas instalados en nuestra tienda.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. Sólo deben usarse apóstrofes ‘ para delimitar las cadenas que hay que traducir. $_MODULE = array(). Fichier es. Para ello. Separar los posibles apóstrofes de la cadena con una barra invertida '\'. $_MODULE['<{mymodule}prestashop>page_c0d7cffa0105851272f83d5c1fe63a1c'] = 'Bienvenido a mi tienda'. En la carpeta mymodule correspondiente a nuestro módulo.php con el contenido de las traducciones. vaya a la pestaña Panel de administración >> Herramientas >> Traducciones y en el apartado Modificar las traducciones.

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

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

lachoseinteractive. indíquenoslo.es Descripción Sitio de la empresa PrestaShop (editor).fr www. 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. Bug Tracker. Para ello.com. …).com/fr www.prestashop. de la manera más detallada posible. no ha encontrado ninguna solución. en inglés.addons.prestashop.alwins-world.com/trunk/ Para utilizar esta versión SVN para hacer test o desarrollos. Someter un error en el Bug Tracker Si su problema viene de un bug demostrado. demostración. Sitio de la comunidad PrestaShop (Foros. utilizando el siguiente formulario: http://www. Dicha corrección aparecerá en la siguiente versión de PrestaShop.prestabox. tema. haga su pregunta en el foro.prestashop.prestabox.prestashop. Marketplace de la solución PrestaShop que propone módulos y temas para su tienda (versiones anglófona. Si no es el caso. Hosting de tiendas PrestaShop sin imposiciones técnicas. pulse en Inscribirse en la parte superior derecha del sitio Prestashop.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.prestashop.0 – 16 diciembre 2010 http://www.prestabox. 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.prestashop. Para poder participar en nuestro foro es necesario crear una cuenta.com www.prestashop. en el apartado correspondiente (idioma. las personas que hayan encontrado la solución a un problema presente. por favor.PrestaShop Documentación: documentación técnica de PrestaShop v1. 41/41 .fr www.addons. blog).com www. francófona e hispanófona).prestashop.addons.com/bug_tracker/.com/es www.de/ http://www.com www. pueden darla para que un desarrollador la corrija.net/ Participar en el foro Si a pesar de todo. en nuestro Bug Tracker.net/fr/communaute/subversion/svnx/telecharger/ URL http://tortoisesvn.

Sign up to vote on this title
UsefulNot useful