Professional Documents
Culture Documents
0 – 16 diciembre 2010
v 1.01/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.
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:
www.addons.prestashop.com
4/41
PrestaShop Documentación: documentación técnica de PrestaShop v1.0 – 16 diciembre 2010
www.prestabox.com
Cada usuario del software PrestaShop puede contribuir como quiera, y como pueda:
Traduciéndolo en diferentes idiomas,
Haciendo un don que permita que el proyecto mejore (http://www.prestashop.com/es/donate/),
Participando en el foro comunitario (http://www.prestashop.com/forums/),
...
PrestaShop agrupa actualmente a más de 40 000 vendedores a través de todo el mundo y progresa a pasos
agigantados, gracias a una comunidad muy activa, con más de 100 000 miembros.
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.
Para instalarlo, necesitará un servidor Web (Apache, IIS), también es posible utilizar un sistema en el que todo
está incorporado, como WAMP, MAMP o EasyPHP.
El 99% de los posting aceptan dichos elementos técnicos, por lo que podrá instalar fácilmente PrestaShop
independientemente de cual sea su hosting.
Instalar PrestaShop
Sin embargo, antes de lanzarse y de invertir en una inscripción, es posible hacer un test de PrestaShop en su
propio ordenador (Mac, PC, etc.). Esto es posible gracias a varios programas que dan acceso a los prerrequisitos
técnicos.
Dichos programas se encuentran disponibles tanto para Mac como para Windows o Linux.
Sistema de
Software URL
explotación
Linux XAMPP http://www.apachefriends.org/fr/xampp.html
Mac MAMP http://www.mamp.info/en/index.html
WAMP http://www.wampserver.com/
Windows
EasyPHP http://www.easyphp.org/
Para más información sobre la utilización de dichos programas, puede consultar su documentación.
5/41
PrestaShop Documentación: documentación técnica de PrestaShop v1.0 – 16 diciembre 2010
Descargar PrestaShop
El último archivo estable de la solución PrestaShop puede descargarse en la siguiente dirección:
http://www.prestashop.com/es/downloads/
Las versiones consideradas estables para utilizar en producción llevan el término "final".
Otras versiones en curso pueden ponerse a disposición en esta página pero solo para test. Se identifican por las
palabras "alpha", "beta" o "RC". Le desaconsejamos que utilice estas versiones en producción.
Asegúrese de que las siguientes carpetas tienen permisos en lectura/escritura, de manera recursiva:
/img
/mails
/modules
/themes/prestashop/lang
/translations
6/41
PrestaShop Documentación: documentación técnica de PrestaShop v1.0 – 16 diciembre 2010
Sensibilización a las copias de seguridad
Porque un incidente puede surgir en cualquier momento (mala manipulación, virus, alteración de datos, etc.),
es preferible hacer copias de seguridad de su tienda con frecuencia.
Una tienda PrestaShop está formada por una parte de carpetas y archivos (los que constituyen la solución pero
también las imágenes añadidas posteriormente, los archivos puestos a disposición para las descargas del
cliente, etc.) y por otra parte de una base de datos que agrupa toda la información como la descripción de los
productos, cuentas clientes, pedidos, etc.
Es importante hacer copias de seguridad de ambas partes para no correr el riesgo de perder la mitad de su
tienda.
Lanzar la instalación
Lanzar la instalación, accediendo a partir de su navegador habitual, a la carpeta que contiene sus archivos
PrestaShop. Por ejemplo, escribir www.mitienda.com si se encuentra en la raíz de su sitio (o localhost
en local), et www.mitienda.com/shop/ si se encuentra en una subcarpeta shop (o localhost/shop/
en local).
Etapa 1 – Bienvenido
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.
Existen paquetes de idiomas, disponibles gratuitamente que le permiten traducir tanto el Front Office como el
Back Office de su tienda en la siguiente dirección:
http://www.prestashop.com/es/downloads/
Método de instalación
Para lanzar una nueva instalación de PrestaShop, marque Instalación completa de PrestaShop.
Para efectuar la actualización de una tienda PrestaShop a una versión más reciente, marque Actualización.
Si el asistente de instalación no detecta la instalación anterior, sólo se propondrá la instalación completa de
PrestaShop.
7/41
PrestaShop Documentación: documentación técnica de PrestaShop v1.0 – 16 diciembre 2010
Etapa 2 – Compatibilidad del sistema
Si aparece un círculo rojo significa que la condición correspondiente no se ha respetado; en ese caso es
necesario corregir el problema. 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.prestashop.com/forums).
Parámetros opcionales
Todos los elementos de la siguiente lista son opcionales, pero se recomienda que se validen.
Si, una vez solucionados los problemas, quiere comprobar su configuración, pulse en
Para esta etapa, se debe crear una base de datos y poder asi generar las tablas. Ver párrafo « Crear la base de
datos » a continuación para más detalles.
8/41
PrestaShop Documentación: documentación técnica de PrestaShop v1.0 – 16 diciembre 2010
Los cuatro primeros campos Servidor, Nombre de la base, Identificación y Contraseña permiten
configurar el acceso a la base de datos creada precedentemente.
En el caso de una tienda instalada en local y de la utilización de un programa tipo LAMP (EasyPHP, WAMP,
MAMP, etc.) consulte la documentación oficial del mismo para saber qué parámetros especificar.
En el caso de una instalación en un hosting, éste ha debido comunicarle todos los parámetros necesarios (por
email o en el panel de administrador de su cuenta).
Si el acceso al servidor no es posible (servidor que no se lanza, nombre de servidor incorrecto, identificador o
contraseña incorrectos), aparecerá el siguiente mensaje:
Si no se ha encontrado la base de datos (base de datos no creada, nombre de la base de datos incorrecta),
aparecerá el siguiente mensaje:
Si los parámetros son correctos, el test será validado por el siguiente mensaje:
El campo Prefijo de las tablas permite especificar el prefijo con el que se relacionará el nombre de todas las
tablas creadas con la herramienta de instalación PrestaShop en la base de datos. Este prefijo permite diferenciar
fácilmente las tablas de varias aplicaciones que utilizarían la misma base de datos.
Modo completo
Las tablas de la base han sido creadas, los principales módulos están instalados y se han añadido ejemplos
(categorías, productos, clientes, pedidos, etc.) a la base. ¡Ideal para hacer pruebas!
Modo simple
Las tablas de la base de datos han sido creadas pero no se ha incluido ningún producto ejemplo ni se ha
instalado ningún módulo. Tras la instalación, el Front Office aparecerá prácticamente vacío. Este es,
9/41
PrestaShop Documentación: documentación técnica de PrestaShop v1.0 – 16 diciembre 2010
evidentemente, el modo que debe utilizar cuando instala su tienda definitiva, para que no se “contamine” con
los datos de ejemplos del otro modo.
Para saber si la configuración del envío de emails es funcional, 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
.
Por defecto, la función mail() de PHP se utiliza para el envío de emails.
Los usuarios con más conocimientos, podrán especificar sus propios parámetros marcando la casilla Configurar
el envío SMTP y cubriendo los campos que aparecen.
Nombre de la tienda
Escriba el nombre de su nueva tienda PrestaShop. Este nombre se utilizará en la etiqueta <title> y aparecerá
en la barra sistema del navegador de visitantes.
Logo de la tienda
Pulse en Recorrer… para elegir en su disco duro la imagen correspondiente al logo de su tienda. Este campo es
opcional, podrá añadir su logo más tarde, desde el Back Office (Back Office >> Preferencias >> Apariencia).
Nombre
Apellido
Dirección email
Dirección email del administrador de la tienda. Esta dirección servirá como identificador de conexión en el
panel de administrador de la tienda.
Contraseña de la tienda
Contraseña del administrador de la tienda. Esta debe contener al menos 8 caracteres, únicamente letras, cifras
o guiones: - _
Confirmar la contraseña
10/41
PrestaShop Documentación: documentación técnica de PrestaShop v1.0 – 16 diciembre 2010
Recibir mis datos por email
Si desea recibir sus datos de conexión por email, marque esta casilla.
Esta última etapa recapitula algunos de los datos más importantes de su tienda (nombre de la tienda, nombre y
apellidos del administrador).
A partir de este momento, ya puede acceder a su tienda pulsando en el cuadro Front Office. Si ha optado por la
instalación simple, esta puede tener un aspecto casi vacío.
Pero, de momento, este lo le permite conectarse. Le invita, por razones de seguridad, a suprimir la carpeta
install y a renombrar la carpeta admin.
11/41
PrestaShop Documentación: documentación técnica de PrestaShop v1.0 – 16 diciembre 2010
Se aconseja evitar un nombre demasiado simple, como por ejemplo admin2.
Estas operaciones se hacen manualmente en la carpeta de instalación de su tienda, ya sea en su disco duro para
una instalación en local, o bien a través de su cliente FTP si la instalación se hace en un servidor distante.
Si, en ese momento, intenta acceder a su panel de administrador pulsando de nuevo en el cuadro Back Office,
aparecerá un error 404 "Página no encontrada" ya que, al nombrar de nuevo la carpeta, se ha modificado su
camino de acceso.
Para poder acceder al mismo, basta con sustituir en la barra de direcciones de su navegador la carpeta admin
por el nombre que le ha dado.
Ejemplo en local Ejemplo en línea
Sustituir: Sustituir:
http://127.0.0.1/shop/admin http://myshop.com/shop/admin
por: por:
http://127.0.0.1/shop/admin567 http://myshop.com/shop/admin567
En ese momento, tendrá acceso al formulario de conexión y al panel de configuración de su nueva tienda
PrestaShop.
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, tanto a nivel del aspecto como de las aplicaciones gracias a las numerosas
contribuciones disponibles en addons.prestashop.com, el Marketplace de PrestaShop:
www.addons.prestashop.com
12/41
PrestaShop Documentación: documentación técnica de PrestaShop v1.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; por lo tanto le recomendamos que antes de actualizar su tienda se entrene en una tienda test.
Copia de seguridad
Para exportar sus traducciones, utilice la herramienta del panel de administración de PrestaShop prevista para
tal efecto:
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
PrestaShop Documentación: documentación técnica de PrestaShop v1.0 – 16 diciembre 2010
Copia de seguridad de sus archivos PrestaShop
Si su tienda PrestaShop está instalada en una subcarpeta de su sitio Web, la futura actualización se instalará en
la misma carpeta. Para hacer una copia de los archivos de la antigua versión de su tienda, renombre de nuevo
las carpetas que lo contienen.
Por ejemplo, si su tienda está en una carpeta myshop:
/myshop
Cambie el nombre por:
/myshop_old
Si los archivos de su tienda están instalados directamente en la raíz del sitio Web, cree una nueva carpeta:
/prestashop_old
Y copie en ella el conjunto de su tienda PrestaShop.
Descarga
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.
Si ha personalizado alguno de los elementos de PrestaShop (idiomas, plantillas de emails, etc.), deberá realizar
de nuevo las modificaciones en la nueva instalación a partir de la copia de seguridad que ha hecho
anteriormente.
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.
También deberá instalar de nuevo los módulos terceros utilizados en su anterior tienda. Asegúrese de que son
compatibles con la nueva versión de PrestaShop.
Si por alguna razón, ha modificado el archivo .htaccess, regenere un nuevo archivo .htaccess con la
herramienta:
Después añada la información que contenía el anterior archivo .htaccess en el nuevo, suprimiendo posibles
elementos que estén duplicados.
Si utiliza un tema personalizado, 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.inc.php
de su antigua tienda hacia la nueva:
/myshop/config/settings.inc.php
14/41
PrestaShop Documentación: documentación técnica de PrestaShop v1.0 – 16 diciembre 2010
Instalar la actualización
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.
Arquitectura general
PrestaShop es un software basado en una arquitectura tres capas, como nos muestra el siguiente esquema:
Nuestro equipo técnico ha decidido no utilizar Framework PHP (Zend Framework, Symfony, CakePHP...) para
permitir una mayor visibilidad del código y una modificación más rápida.
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).
15/41
PrestaShop Documentación: documentación técnica de PrestaShop v1.0 – 16 diciembre 2010
Módulos
El concepto
El software e-comercio PrestaShop se articula en torno a un principio de módulos que facilita su utilización, su
personalización y su extensión.
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.
Estos han sido realizados por la empresa PrestaShop y/o la comunidad PrestaShop y se comercializan a un
precio muy abordable.
Si usted es desarrollador, también puede proponer módulos en PrestaShop Addons y percibir el 70% del
importe de la venta de sus creaciones.
Cada módulo PrestaShop, si ha sido instalado por el vendedor, puede intervenir en uno o varios "points
d'accroche" llamados también "hook" en inglés. Un hook es la representación en la vista a partir del momento
16/41
PrestaShop Documentación: documentación técnica de PrestaShop v1.0 – 16 diciembre 2010
en que se efectúa un tratamiento del módulo o se muestran informaciones (ejemplo: en el carrito, la ficha
producto, tras actualizar el stock). Más concretamente un hook es un atajo hacia los diferentes métodos del
objeto Módulo asignados al mismo.
Front-office
Inicio y entorno del sitio
Ubicación Visible por los
Nombre del hook Descripción
(archivo) internautas
Es llamado entre las etiquetas
<head></head> de la página. Ideal
header header.php No
parar cargar sus archivos Javascript y
CSS.
Es llamado en el encabezamiento de la
top header.php Sí
página.
Es llamado al cambiar la columna de la
leftColumn header.php Sí
izquierda.
Es llamado al cambiar la columna de la
rightColumn footer.php Sí
derecha.
footer footer.php Sí Es llamado al pie de página.
Es llamado en el centro de la página de
home index.php Sí
inicio.
Ficha producto
Ubicación Visible por los
Nombre del hook Descripción
(archivo) internautas
Es llamado justo encima del link
extraLeft product.php Sí
"Imprimir", bajo la foto.
Es llamado debajo del bloque que
extraRight product.php Sí
contiene el botón "Añadir al carrito".
Es llamado en el interior del bloque que
productActions product.php Sí contiene el botón "Añadir al carrito",
bajo el botón.
Es llamado en el interior del bloque que
contiene el botón "Añadir al carrito",
productOutOfStock product.php Sí
debajo de la información
"Disponibilidad:".
17/41
PrestaShop Documentación: documentación técnica de PrestaShop v1.0 – 16 diciembre 2010
Carrito
Ubicación Visible por los
Nombre del hook Descripción
(archivo) internautas
Clase: Es llamado justo después de crear o
cart No
Cart.php actualizar un carrito.
Es llamado debajo del cuadro que
shoppingCart order.php Sí muestra los productos contenidos en el
carrito.
Es llamado debajo del cuadro que
muestra los productos contenidos en el
shoppingCartExtra order.php Sí
carrito, debajo de los botones de
navegación.
Es llamado en el formulario de creación
createAccountTop authentication.php Sí de una cuenta cliente, encima del bloque
"Sus datos personales".
Es llamado en el formulario de creación
createAccountForm authentication.php Sí de una cuenta cliente, encima del botón
"Inscripción".
Es llamado justo después de la creación
createAccount authentication.php No
de una cuenta cliente.
Es llamado en Inicio de la cuenta cliente,
en la parte inferior de la lista de los links
customerAccount my-account.php Sí
disponibles. Ideal para añadir un link a
dicha lista.
Es llamado en el bloque "Mi cuenta" en
la columna de la izquierda, en la parte
Módulo:
myAccountBlock Sí inferior de la lista de los links
blockmyaccount.php
disponibles. Ideal para añadir un link a
dicha lista.
Es llamado justo tras la identificación de
authentication authentication.php No un cliente, únicamente si ésta es válida
(dirección email y contraseña correctos).
Búsqueda
Ubicación Visible por los
Nombre del hook Descripción
(archivo) internautas
Es llamado después de cada búsqueda.
Clase: Ideal para analizar y/o optimizar las
search No
Search.php búsquedas (y resultados de búsqueda)
efectuadas por sus clientes.
Elección de un transportista
Ubicación Visible por los
Nombre del hook Descripción
(archivo) internautas
Es llamado debajo de la lista de los
transportistas disponibles en el
momento del pedido. Ideal para añadir
extraCarrier order.php Sí
un transportista desarrollado en forma
de módulo (ejemplo: transportista punto
de entrega).
Pago
Ubicación Visible por los
Nombre del hook Descripción
(archivo) internautas
Es llamado para constituir la lista de
payment order.php Sí modos de pago disponibles durante el
proceso de pedido. Ideal para permitir
18/41
PrestaShop Documentación: documentación técnica de PrestaShop v1.0 – 16 diciembre 2010
elegir un módulo de pago que usted
mismo haya desarrollado.
Es llamado al volver a la tienda después
de un pago. Ideal para mostrar un
paymentReturn order-confirmation.php Sí
mensaje de confirmación y/o para
aportar precisiones relativas al pago.
Idéntico al paymentReturn.
Es llamado al volver a la tienda tras un
orderConfirmation order-confirmation.php Sí pago. Ideal para mostrar un mensaje de
confirmación y/o para aportar
precisiones relativas al pago.
Es llamado al mostrar la lista de modos
de pago disponibles. Ideal para redirigir
backBeforePayment order.php No
al comprador en lugar de mostrarle la
lista (Ejemplo: Checkout 1-click PayPal).
Devolución mercancía
Ubicación Visible por los
Nombre del hook Descripción
(archivo) internautas
Es llamado cuando un cliente solicita una
orderReturn order-follow.php No devolución del producto, únicamente si
no ha aparecido ningún error.
Es llamado al mostrar una factura en
Classe : formato PDF. Ideal para mostrar
PDFInvoice Sí
PDF.php contenido dinámico o estático en dicha
factura.
19/41
PrestaShop Documentación: documentación técnica de PrestaShop v1.0 – 16 diciembre 2010
Al mostrar una página del sitio de venta en línea, el motor PrestaShop comprueba, para cada uno de los hooks
que la componen, qué módulos debe llamar.
20/41
PrestaShop Documentación: documentación técnica de PrestaShop v1.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.
Este sistema se articula en torno a un motor de plantillas llamado Smarty (http://www.smarty.net). Este último
permite a los integradores desarrollar fácilmente, sin conocimientos técnicos específicos, sus propios temas.
PrestaShop propone en estándar un tema neutro, con tonos grises, que permite desarrollar de manera sencilla
y gratuita cualquier sector de actividad.
Estos han sido realizados por la empresa PrestaShop y/o la comunidad PrestaShop y se comercializan a un
precio muy abordable.
Si usted es grafista/integrador, también puede proponer temas en PrestaShop Adons y percibir el 70% del
importe de la venta de sus creaciones.
21/41
PrestaShop Documentación: documentación técnica de PrestaShop v1.0 – 16 diciembre 2010
Así se presenta la arborescencia de un tema PrestaShop:
Nota: las carpetas css, img y js no son indispensables para el funcionamiento de un tema personalizado.
Para la totalidad de los textos contenidos en sus archivos .tpl, debe incluir la siguiente etiqueta:
{l s='Mon texte'}
22/41
PrestaShop Documentación: documentación técnica de PrestaShop v1.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. A
continuación presentamos cada carpeta de la arborescencia de PrestaShop:
css: contiene los archivos CSS que no son relativos a los temas. Se trata por ejemplo de
los archivos CSS del Back-office.
img: contiene la totalidad de las imágenes, iconos y fotos de PrestaShop, excepto los de los temas. 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).
install: contiene la totalidad de los archivos relativos a la herramienta de instalación de PrestaShop. Deberá
suprimirlo una vez haya instalado PrestaShop para más seguridad.
js: contiene los archivos Javascript que no son relativos a los temas. Se trata por ejemplo de los archivos
Javascript del Back-office. También contiene el framework Javascript jQuery.
mails: contiene la totalidad de los archivos HTML y TXT relativos a los emails enviados desde PrestaShop.
Existe una subcarpeta por idioma disponible. Si desea modificar el contenido de un email, deberá ir a esta
carpeta para editarlo manualmente.
23/41
PrestaShop Documentación: documentación técnica de PrestaShop v1.0 – 16 diciembre 2010
modules: contiene una subcarpeta por módulo disponible. Si desea desinstalar definitivamente un módulo,
comience por desinstalarlo a través del Back-office de PrestaShop antes de suprimir su subcarpeta.
tools: contiene herramientas externas integradas en PrestaShop. En elle encontramos fundamentalmente las
siguientes herramientas: Smarty (motor de plantilla/tema), FPDF (motor de generación de archivos PDF), Swift
(motor de envío de emails), PEAR Xml parser (herramienta PHP).
translations: contiene una subcarpeta por idioma disponible. Si desea modificar las traducciones, deberá
hacerlo a través del Back-office de PrestaShop y no directamente en dichas carpetas.
upload: contiene los archivos transmitidos por los clientes durante la compra de productos personalizables
(ejemplo: la foto de un cliente para imprimirla en una taza).
24/41
PrestaShop Documentación: documentación técnica de PrestaShop v1.0 – 16 diciembre 2010
<FilesMatch "\.tpl$">
order deny,allow
deny from all
</FilesMatch>
Archivo config.inc.php
Archivo defines.inc.php
Este archivo contiene la totalidad de los emplazamientos de los archivos, a través del método PHP
define(). Si desea modificar esos emplazamientos, no se olvide de modificar las líneas correspondientes.
Archivo smarty.config.inc.php
25/41
PrestaShop Documentación: documentación técnica de PrestaShop v1.0 – 16 diciembre 2010
Reparta sus elementos estáticos en subdominios diferentes para paralelizar los flujos http de los
visitantes.
Para ello, vaya al archivo config/defines.inc.php y añada lo siguiente:
if ($_SERVER['REMOTE_ADDR'] != '127.0.0.1')
{
define('_THEME_IMG_DIR_', 'http://img2.xxx.com/');
define('_THEME_CSS_DIR_', 'http://css.xxx.com/');
define('_THEME_JS_DIR_', 'http://js.xxx.com/');
define('_THEME_CAT_DIR_', 'http://img1.xxx.com/c/');
define('_THEME_PROD_DIR_', 'http://img1.xxx.com/p/');
define('_THEME_MANU_DIR_', 'http://img1.xxx.com/m/');
define('_PS_IMG_', 'http://img1.xxx.com/');
define('_PS_ADMIN_IMG_', 'http://img1.xxx.com/admin/');
}
else
{
define('_THEME_IMG_DIR_', _THEMES_DIR_._THEME_NAME_.'/img/');
define('_THEME_CSS_DIR_', _THEMES_DIR_._THEME_NAME_.'/css/');
define('_THEME_JS_DIR_', _THEMES_DIR_._THEME_NAME_.'/js/');
define('_THEME_CAT_DIR_', __PS_BASE_URI__.'img/c/');
define('_THEME_PROD_DIR_', __PS_BASE_URI__.'img/p/');
define('_THEME_MANU_DIR_', __PS_BASE_URI__.'img/m/');
define('_PS_IMG_', __PS_BASE_URI__.'img/');
define('_PS_ADMIN_IMG_', _PS_IMG_.'admin/');
}
Instale un cache de opcode (o pida a su hosting que lo haga), PrestaShop es compatible con
eAccelerator: http://www.eaccelerator.net/.
Esto le permitirá ganar en términos de carga de procesador.
Prácticas
El tema por defecto de PrestaShop es lo bastante sencillo para adaptarse a cualquier sector del comercio en
línea. Además, este tema respeta escrupulosamente las normas del W3C y fue optimizado para mostrarse
correctamente con todos los navegadores más utilizados.
Sin embargo, es posible modificar el tema de su tienda, para adaptarlo mejor a su actividad.
Lo más sencillo es partir de un tema ya existente.
Los temas se encuentran en la carpeta /themes/ ; es ahí donde deberán ponerse los diferentes temas que
pueden aplicarse a la tienda. También aparece una subcarpeta prestashop que corresponde al tema PrestaShop
por defecto.
No obstante, le aconsejamos que conserve intacto el tema por defecto de PrestaShop. 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. Si el problema desaparece con el tema PrestaShop por defecto, significa que el tema
personalizado ha generado el problema.
26/41
PrestaShop Documentación: documentación técnica de PrestaShop v1.0 – 16 diciembre 2010
Arborescencia de un tema
Archivo / Carpeta Descripción
27/41
PrestaShop Documentación: documentación técnica de PrestaShop v1.0 – 16 diciembre 2010
supplier-list.tpl Página que lista los proveedores.
supplier.tpl Página que lista los productos de un proveedor.
thickbox.tpl Página de zoom de la foto de un producto.
Contiene las hojas de estilo del tema.
El archivo global.css incluye los elementos para dar forma a la mayor parte del sitio
css
Web.
Excepto si es un usuario avanzado, le recomendamos que deje los archivos de origen.
Contiene las imágenes del tema.
img Sustituye las imágenes adecuadas por sus propias creaciones.
Excepto si es un usuario avanzado, le recomendamos que deje los archivos de origen.
Scripts JavaScript utilizados en el tema.
js
Excepto si es un usuario avanzado, le recomendamos que deje los archivos de origen.
Archivos de traducción.
Estos archivos son generados por el Back Office y su contenido debe modificarse a partir
lang
de la herramienta Panel de Administración >> Herramientas >> Traducciones, apartado
Modificar las traducciones.
Algunos módulos poseen sus propios archivos .tpl. Si usted crea su propio tema, también deberá adaptar el de
los módulos. Es posible hacer esta operación sin modificar los archivos originales de los módulos.
Para ello, en la carpeta de su tema, cree una carpeta módulos:
/themes/montheme/modules/
Y copie en ella los módulos que va a modificar. Conserve únicamente en estas carpetas los archivos .tpl que
podrá modificar en función de sus necesidades. Dichos elementos se utilizarán prioritariamente sobre los
originales.
Firebug
Para simplificarle el trabajo de integración, le recomendamos que se familiarice con add-on Firebug para
Firefox, que le permitirá delimitar rápidamente cada bloque y mostrar las propiedades CSS que se aplican a
cada uno.
JavaScript
Archivo preview.jpg
Una vez que haya terminado su tema, no olvide hacer una captura de pantalla, redimensionarla y copiar el
archivo en lugar del archivo preview.jpg que ya se encuentra presente en el tema.
Para hacer una captura de pantalla de una página Web completa de un tamaño superior a la imagen, puede
resultar muy práctico recurrir a un add-on de Firefox como FireShot o ScreenGrab.
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.w3.org/.
Para terminar, haga un test para mostrar las diferentes páginas de su tema en los navegadores más utilizados
(Firefox, Internet Explorer, Chrome, Safari, Opera).
28/41
PrestaShop Documentación: documentación técnica de PrestaShop v1.0 – 16 diciembre 2010
Crear un módulo PrestaShop
Los módulos son ideales para dar rienda suelta a su imaginación y a su talento de desarrollador, ya que las
posibilidades de creación son numerosas.
Los módulos pueden mostrar contenido (bloques, texto, etc.), realizar tratamientos (actualizaciones en masa,
importar, exportar, etc.), entrar en interfaz con otros programas, etc.
Se pueden crear módulos más o menos configurables. Cuanto más se pueda configurar, más sencillo será su
uso y por lo tanto responderá a las necesidades de un mayor número de personas.
Uno de los principales intereses de un módulo es añadir a la solución aplicaciones sin modificar la base de la
misma, para facilitar una futura actualización que borraría las modificaciones aportadas a la base.
Es la razón por la que, en la medida de lo posible, el desarrollo de un módulo deberá evitar al máximo la
modificación del corazón de la solución, aunque, a veces, sea desafortunadamente inevitable para el
desarrollo de ciertas aplicaciones.
La estructura de base es sencilla y similar para cada módulo, lo que facilita la implementación de nuevos
módulos.
Para empezar a crear un módulo, empecemos por crear la carpeta que lo va a contener. Esta se llamará como
el nombre que queramos dar al módulo. Este nombre debe estar compuesto únicamente por cifras, letras,
guiones y paréntesis (-_) todo en minúsculas.
Esta carpeta debe contener un archivo PHP responsable del tratamiento de datos. Tendrá el mismo nombre
que la carpeta padre.
29/41
PrestaShop Documentación: documentación técnica de PrestaShop v1.0 – 16 diciembre 2010
Este archivo es suficiente para crear un módulo básico. Otros archivos y subcarpetas podrán completarlo más
tarde.
Un archivo TPL será útil en el caso de mostrar datos en el Front Office. Los archivos TPL deben estar situados
en la raíz del módulo. Los archivos TPL pueden tener cualquier nombre. Cuando sólo hay uno, se llama a
menudo como el módulo, pero es conveniente acostumbrarse a darles nombres explícitos.
Fichier mymodule.php
<?php
parent::__construct();
?>
$this->name = 'mymodule';
Atribución de un nombre a nuestra instancia de clase.
$this->tab = 'Test';
Título del cuadro que contendrá el módulo en la lista de módulos del Back Office. Puede tratarse de un nombre
que ya existe (Products, Blocks, Stats) o de un nombre personalizado. En este último caso, se creará un
nuevo cuadro con dicho título.
$this->version = '1.0';
Número de versión del módulo, mostrado en la lista de módulos.
parent::__construct();
Llamar al constructor padre. Debe llamarse al constructor obligatoriamente antes de la utilización de los
métodos $this->l() y una vez se haya guardado el nombre.
30/41
PrestaShop Documentación: documentación técnica de PrestaShop v1.0 – 16 diciembre 2010
$this->displayName = $this->l('My module');
Nombre del módulo mostrado en la lista de módulos del Back Office. Veremos más adelante como traducir el
texto 'My module'.
El llamamiento al método l() se explica más adelante, en el párrafo "Traducción de los módulos ".
De la misma manera, el módulo podrá contener un método uninstall() que permita personalizar la
desinstalación del módulo.
Un ejemplo de utilización de este método:
public function uninstall()
{
Db::getInstance()->Execute('DELETE FROM `'._DB_PREFIX_.'block_cms` WHERE `id_block` ='.intval($this->id));
parent::uninstall();
}
Para terminar nuestro módulo de base, vamos a añadir un icono al lado del nombre del módulo en la lista de
los módulos. Para ello, basta con poner una imagen 16x16 en la carpeta del módulo y llamarla logo.gif.
El sitio http://www.famfamfam.com/lab/icons/silk/ propone una gran biblioteca de iconos gratuitos.
A continuación, en la pestaña Panel de administrador >> Módulos, el resultado obtenido con el código anterior.
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.php que añade a su vez una ocurrencia a la tabla ps_module.
Configuración de un módulo
Como decíamos anteriormente, es posible hacer módulos configurables y por lo tanto adaptables a las
necesidades de un gran número de usuarios.
Para permitir el acceso a la interfaz de configuración de un módulo, hay que añadir una función getContent() a
la clase de nuestro módulo.
El simple hecho de añadir esta función provoca la aparición de un enlace >> Configurar.
31/41
PrestaShop Documentación: documentación técnica de PrestaShop v1.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, por ejemplo, para mostrar un
bloque o para ejecutar un tratamiento en un momento determinado, hay que permitirle utilizar uno de los
hooks que hemos visto anteriormente.
A partir de este momento ya es posible trasladar este módulo al hook que se desee y en el lugar que se quiera
en dicho hook.
La elección del o de los hooks a los que se va a trasladar el módulo se hace en la pestaña Panel de
administración >> Módulos >> Posiciones del Back Office.
Pulse en Trasladar un módulo, en el campo Módulo seleccionar el módulo que se va a trasladar, en este caso
"My module" y en el campo Trasladar el módulo a elegir "Left column blocks" , después pulsar en guardar
para validar.
32/41
PrestaShop Documentación: documentación técnica de PrestaShop v1.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.
Volver a la página Panel de administración >> Módulos >> Posiciones, y en el cuadro "Left column blocks"
desplazar el recuadro "My module" hacia el lugar deseado, 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
PrestaShop Documentación: documentación técnica de PrestaShop v1.0 – 16 diciembre 2010
Como nos muestra Firebug, la columna de la izquierda de PrestaShop está materializada por una etiqueta
<div> con el nombre de "left_column". La función hookLeftColumn() va a mostrar como aparece nuestro
módulo en esta div.
Como ya hemos visto, el archivo que contiene los elementos que van a mostrarse es, en nuestro caso, el
archivo mymodule.tpl que hemos pasado en parámetros del método display() en el método hookLeftColumn().
return $this->display(__FILE__, 'mymodule.tpl');
34/41
PrestaShop Documentación: documentación técnica de PrestaShop v1.0 – 16 diciembre 2010
<div class="block_content">
<ul>
<li><a href="{$base_dir}modules/mymodule/page.php" title="Click this link">
Click me!
</a></li>
</ul>
</div>
</div>
<!-- /Block mymodule -->
De momento el hiperlink no conduce a ninguna parte. Para hacer un test, basta con crear el archivo
mencionado en mymodule.tpl, es decir un archivo mymodule_page.php en nuestra carpeta mymodule, y
añadir texto.
Fichier mymodule_page.php
Welcome to my shop!
Un clic en el link nos conduce a nuestra página, pero el aspecto no es muy "PrestaShop".
Por lo tanto, vamos a crear un archivo mymodule_page.tpl, en el que copiaremos el contenido de nuestro
archivo mymodule_page.php, que en nuestro caso es:
Fichier mymodule_page.tpl
Welcome to my shop!
Nota: le recomendamos que nombre sus archivos TPL con nombres explícitos para encontrarlos más fácilmente
en el Back Office de PrestaShop posteriormente (en especial a nivel de las traducciones).
Y en el archivo mymodule_page.php, vamos por supuesto a llamar al archivo TPL de nuevo para que Smarty se
encargue de mostrarlo, pero también vamos a provocar la llamada de archivos TPL encargados de mostrar el
resto de la interfaz del Front Office, es decir los archivos header.tpl y footer.tpl.
$smarty->display(dirname(__FILE__).'/mymodule_page.tpl');
include('../../footer.php');
?>
global $smarty;
Recupera la instancia corriente de Smarty. Debe hacerse antes del primer display().
include('../../config/config.inc.php');
Carga la configuración de PrestaShop.
include('../../header.php');
35/41
PrestaShop Documentación: documentación técnica de PrestaShop v1.0 – 16 diciembre 2010
include('../../footer.php');
Llamada de los archivos PHP encargados de mostrar el resto del formato, en especial afectando a cada variable
Smarty que corresponde a los hooks, su contenido. Estos archivos llaman respectivamente a header.tpl y a
footer.tpl que hacen posible el aspecto final.
$smarty->display(dirname(__FILE__).'/mymodule_page.tpl');
Llamada de nuestro archivo mymodule_page.tpl para mostrarlo.
Si cargamos de nuevo la página del Front Office, ¡el resultado es mucho más atractivo! ;-)
Utilización de Smarty
$mymodule->display(dirname(__FILE__).'/mymodule_page.tpl');
include('../../footer.php');
?>
A partir de este momento, se puede pedir a Smarty que muestre el contenido de dicha variable en el archivo
page.tpl.
Fichier mymodule_page.tpl
{$messageSmarty}
Todas las variables Smarty son globales. Hay que tener cuidado en no utilizar un nombre similar a una variable
existente para no suprimirla. Se aconseja evitar nombres de variables demasiado sencillos como "productos".
A continuación presentamos una lista de variables Smarty comunes a todas las páginas:
Archivo / Carpeta Descripción
img_ps_dir URL de la carpeta imagen.
img_cat_dir URL de la carpeta imagen de las categorías.
img_lang_dir URL de la carpeta imagen de los idiomas.
img_prod_dir URL de la carpeta imagen de los productos.
img_manu_dir URL de la carpeta imagen de los fabricantes.
img_sup_dir URL de la carpeta imagen de los proveedores.
img_ship_dir URL de la carpeta imagen de los transportistas.
36/41
PrestaShop Documentación: documentación técnica de PrestaShop v1.0 – 16 diciembre 2010
img_dir URL de la carpeta imagen del tema.
css_dir URL de la carpeta css del tema.
js_dir URL de la carpeta javascript del tema.
tpl_dir URL de la carpeta del tema corriente.
modules_dir URL de la carpeta de los módulos.
mail_dir URL de la carpeta de las plantillas de email.
pic_dir URL de la carpeta de descarga.
lang_iso Código ISO del idioma utilizado.
come_from URL del origen del usuario.
shop_name Nombre de la tienda.
cart_qties Nombre de productos en el carrito.
cart El carrito.
currencies Las diferentes divisas disponibles.
id_currency_cookie ID de la divisa utilizada.
currency Objet Currency (divisa actualmente utilizada).
cookie Cookie del usuario.
languages Lista de los diferentes idiomas disponibles.
logged Indica si el usuario dispone de una cuenta cliente.
page_name Nombre de la página.
customerName Nombre del cliente (cuando está conectado).
priceDisplay Modo de mostrar los precios (con o sin IVA, …).
roundMode Modo de redondeo utilizado.
use_taxes Indica si los impuestos están activados.
Para mostrar todas las variables Smarty disponibles en una página determinada, se puede añadir la siguiente
instrucción en el archivo TPL :
{debug}
Para poner una parte de un archivo TPL en comentario, en lugar de utilizar los comentarios HTML que se
encuentran en el código fuente de la página, se pueden usar los comentarios Smarty {* … *}.
{* Cette chaîne est un commentaire et ne sera pas affichée. *}
Hemos redactado nuestro texto en inglés y queremos traducirlo al francés. Esta labor va a estar simplificada
por Smarty así como por la herramienta de traducción de PrestaShop.
Actualmente, los textos aparecen de manera estática. Por lo tanto, sea cual sea el idioma elegido en el Front
Office o en el Back Office, los textos del módulo siguen estando en inglés.
Langue Back Office Front Office
De esta manera, en mymodule.php ya hemos visto brevemente el uso del método l() :
$this->displayName = $this->l('My module');
$this->description = $this->l('Description of my module.');
37/41
PrestaShop Documentación: documentación técnica de PrestaShop v1.0 – 16 diciembre 2010
En mymodule.tpl :
<h4>Welcome!</h4>
…
Click me!
El uso de elementos dinámicos nos da :
<h4>{l s=' Welcome!' mod='mymodule'}</h4>
…
{l s='Click me!' mod='mymodule'}
Y en page.tpl :
Welcome to my shop!
Nos da:
{l s='Welcome to my shop!' mod='mymodule'}
El 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, para que ésta
pueda mostrarse.
Sólo deben usarse apóstrofes ‘ para delimitar las cadenas que hay que traducir. Separar los posibles apóstrofes
de la cadena con una barra invertida '\'.
Esto nos permitirá traducir nuestras cadenas de caracteres en los idiomas instalados en nuestra tienda. Para
ello, vaya a la pestaña Panel de administración >> Herramientas >> Traducciones y en el apartado Modificar
las traducciones, seleccionar en la lista "Traducción de los módulos", después pulsar en la bandera francesa
para traducir dicho módulo al francés.
La sección correspondiente a nuestro módulo se despliega ya que contiene cadenas que aún no se han
traducido. 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.
En la carpeta mymodule correspondiente a nuestro módulo, se ha creado un archivo es.php con el contenido
de las traducciones.
Fichier es.php
<?php
global $_MODULE;
$_MODULE = array();
$_MODULE['<{mymodule}prestashop>mymodule_2ddddc2a736e4128ce1cdfd22b041e7f'] = 'Mi módulo';
$_MODULE['<{mymodule}prestashop>mymodule_d6968577f69f08c93c209bd8b6b3d4d5'] = 'Descripción de mi módulo.';
$_MODULE['<{mymodule}prestashop>mymodule_9a843f20677a52ca79af903123147af0'] = 'Bienvenido !';
$_MODULE['<{mymodule}prestashop>mymodule_f42c5e677c97b2167e7e6b1e0028ec6d'] = 'Haga clic en mí !';
$_MODULE['<{mymodule}prestashop>page_c0d7cffa0105851272f83d5c1fe63a1c'] = 'Bienvenido a mi tienda';
38/41
PrestaShop Documentación: documentación técnica de PrestaShop v1.0 – 16 diciembre 2010
Estos archivos de idiomas no deben editarse directamente ya que la utilización de un editor poco apropiado
para modificarlos, podría originar problemas. Las traducciones deben realizarse a partir de la herramienta de
traducción del Back Office.
Si elegimos el francés como idioma en el Front Office o en el Back Office, podemos ver el módulo traducido.
Langue Back Office Front Office
Para que la herramienta de traducción de PrestaShop tenga en cuenta las traducciones, es necesario que los
archivos PHP y TPL que contienen las cadenas que van a traducirse se encuentren situados en la raíz del
módulo.
39/41
PrestaShop Documentación: documentación técnica de PrestaShop v1.0 – 16 diciembre 2010
$this->fieldsDisplay = array(
'id_test' => array('title' => $this->l('ID'), 'align' => 'center', 'width' => 25),
'test' => array('title' => $this->l('Name'), 'width' => 200));
$this->identifier = 'id_test';
parent::__construct();
}
$defaultLanguage = intval(Configuration::get('PS_LANG_DEFAULT'));
$languages = Language::getLanguages();
$obj = $this->loadObject(true);
echo '
<script type="text/javascript">
id_language = Number('.$defaultLanguage.');
</script>';
echo '
<form action="'.$currentIndex.'&submitAdd'.$this->table.'=1&token='.$this->token.'" method="post"
class="width3">
'.($obj->id ? '<input type="hidden" name="id_'.$this->table.'" value="'.$obj->id.'" />' : '').'
<fieldset><legend><img src="../img/admin/profiles.png" />'.$this->l('Profiles').'</legend>
<label>'.$this->l('Name:').' </label>
<div class="margin-form">';
foreach ($languages as $language)
echo '
<div id="name_'.$language['id_lang'].'" style="display: '.($language['id_lang'] ==
$defaultLanguage ? 'block' : 'none').'; float: left;">
<input size="33" type="text" name="name_'.$language['id_lang'].'" value="'.htmlentities($this-
>getFieldValue($obj, 'name', intval($language['id_lang'])), ENT_COMPAT, 'UTF-8').'" /><sup> *</sup>
</div>';
$this->displayFlags($languages, $defaultLanguage, 'name', 'name');
echo ' <div class="clear"></div>
</div>
<div class="margin-form">
<input type="submit" value="'.$this->l(' Save ').'" name="submitAdd'.$this->table.'"
class="button" />
</div>
<div class="small"><sup>*</sup> '.$this->l('Required field').'</div>
</fieldset>
</form>';
}
}
?>
En caso de problema
Si tiene algún problema, le recomendamos que siga las siguientes etapas para encontrar ayuda:
Algunos foros, también tienen temas "fijos" de manera persistente en la parte superior de los temas que
contienen información muy útil.
40/41
PrestaShop Documentación: documentación técnica de PrestaShop v1.0 – 16 diciembre 2010
http://www.prestashop.com/bug_tracker/. Si no es el caso, las personas que hayan encontrado la
solución a un problema presente, pueden darla para que un desarrollador la corrija.
Dicha corrección aparecerá en la siguiente versión de PrestaShop, 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.com/trunk/
Para utilizar esta versión SVN para hacer test o desarrollos, puede por ejemplo utilizar unos de los siguientes
softwares (lista no exhaustiva):
Systema de
Software URL
explotación
Linux KDESvn http://kdesvn.alwins-world.de/
Mac svnX http://www.lachoseinteractive.net/fr/communaute/subversion/svnx/telecharger/
Windows TortoiseSVN http://tortoisesvn.net/
Participar en el foro
Si a pesar de todo, no ha encontrado ninguna solución, haga su pregunta en el foro, de la manera más detallada
posible, en el apartado correspondiente (idioma, tema, …).
Para poder participar en nuestro foro es necesario crear una cuenta. Para ello, pulse en Inscribirse en la parte
superior derecha del sitio Prestashop.com.
Dirección Descripción
www.prestashop.fr Sitio de la empresa PrestaShop (editor).
Sitio de la comunidad PrestaShop (Foros, Bug Tracker, demostración,
www.prestashop.com
blog).
www.addons.prestashop.com
Marketplace de la solución PrestaShop que propone módulos y temas
www.addons.prestashop.com/fr
para su tienda (versiones anglófona, francófona e hispanófona).
www.addons.prestashop.com/es
www.prestabox.com
www.prestabox.fr Hosting de tiendas PrestaShop sin imposiciones técnicas.
www.prestabox.es
41/41