Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Prestashop Techguide Es
Prestashop Techguide Es
v 1.0
1/41
PrestaShop
Etapa 5 Instalacin terminada!................................................................................................................. 11 PERSONALICE SU TIENDA.......................................................................................................................................... 12 ACTUALIZACION DE PRESTASHOP .................................................................................................................. 13 PRECAUCIONES ...................................................................................................................................................... 13 COPIA DE SEGURIDAD .............................................................................................................................................. 13 Copia de seguridad de sus traducciones ....................................................................................................... 13 Copia de seguridad de su base de datos ....................................................................................................... 13 Copia de seguridad de sus archivos PrestaShop ............................................................................................ 14 INSTALACIN DE LA NUEVA VERSIN .......................................................................................................................... 14 Descarga ....................................................................................................................................................... 14 Extraer y copiar ............................................................................................................................................. 14 Restaurar los datos a partir de una antigua versin ..................................................................................... 14 Instalar la actualizacin ................................................................................................................................ 15 ARQUITECTURA GENERAL .............................................................................................................................. 15 GRANDES PRINCIPIOS (MDULOS, TEMAS) .................................................................................................... 16 MDULOS ............................................................................................................................................................ 16 El concepto .................................................................................................................................................... 16
2/41
PrestaShop
Funcionamiento tcnico de un mdulo ......................................................................................................... 16 Lista de los hooks de PrestaShop................................................................................................................... 17 TEMAS ................................................................................................................................................................. 21 El concepto .................................................................................................................................................... 21 Funcionamiento tcnico de un tema ............................................................................................................. 21 La gestin de las traducciones ...................................................................................................................... 22 Transmitir informaciones (datos) a un tema PrestaShop .............................................................................. 22 LA ARBORESCENCIA DE PRESTASHOP ............................................................................................................. 23 BUENOS HBITOS QUE DEBEN RESPETARSE (DESARROLLADORES, INTEGRADORES)...................................... 24 SECURIZAR SU INSTALACIN PRESTASHOP .................................................................................................... 24 OPCIONES DE CONFIGURACIN Y FINE-TUNING/PERFORMANCES ................................................................. 25 ARCHIVO CONFIG.INC.PHP ....................................................................................................................................... 25 ARCHIVO DEFINES.INC.PHP ....................................................................................................................................... 25 ARCHIVO SMARTY.CONFIG.INC.PHP............................................................................................................................ 25 MEJORA DE LAS PRESTACIONES DE PRESTASHOP .......................................................................................... 25 PRCTICAS ..................................................................................................................................................... 26 CREAR UN TEMA PRESTASHOP .................................................................................................................................. 26 Tema por defecto PrestaShop ....................................................................................................................... 26 Crear un nuevo tema ..................................................................................................................................... 26 Arborescencia de un tema ............................................................................................................................. 27 Tema de los mdulos..................................................................................................................................... 28 Consejos para editar un tema PrestaShop .................................................................................................... 28
Firebug ........................................................................................................................................................................ 28 JavaScript .................................................................................................................................................................... 28 Archivo preview.jpg .................................................................................................................................................... 28 Normas W3C y compatibilidad inter-navegadores ..................................................................................................... 28
CREAR UN MDULO PRESTASHOP ............................................................................................................................. 29 Principio de los mdulos ................................................................................................................................ 29 Arborescencia de los mdulos ....................................................................................................................... 29 Estructura de base de un mdulo .................................................................................................................. 29 Configuracin de un mdulo ......................................................................................................................... 31 Trasladar un mdulo ..................................................................................................................................... 32 Mostrar un mdulo ....................................................................................................................................... 33 Utilizacin de Smarty .................................................................................................................................... 36 Traduccin de los mdulos ............................................................................................................................ 37 CREAR UNA PESTAA EN EL BACK-OFFICE, AS COMO SU CLASE ........................................................................................ 39 EN CASO DE PROBLEMA ................................................................................................................................. 40 FORO OFICIAL PRESTASHOP...................................................................................................................................... 40 HERRAMIENTA DE INFORMES DE ERRORES: EL "BUG TRACKER"........................................................................................ 40 PARTICIPAR EN EL FORO ........................................................................................................................................... 41 SOMETER UN ERROR EN EL BUG TRACKER ................................................................................................................... 41 SITIOS OFICIALES PRESTASHOP ...................................................................................................................... 41
Para cualquier pregunta, sugerencia o correccin sobre este documento, pngase en contacto con PrestaShop contact@prestashop.com
3/41
PrestaShop
PrestaShop
www.prestabox.com Una solucin de hosting llave en mano para el software PrestaShop. Las claves del proyecto PrestaShop son: Simplicidad Eficacia Flexibilidad Rapidez Cada usuario del software PrestaShop puede contribuir como quiera, y como pueda: Traducindolo en diferentes idiomas, Haciendo un don que permita que el proyecto mejore (http://www.prestashop.com/es/donate/), Participando en el foro comunitario (http://www.prestashop.com/forums/), ... PrestaShop agrupa actualmente a ms de 40 000 vendedores a travs de todo el mundo y progresa a pasos agigantados, gracias a una comunidad muy activa, con ms de 100 000 miembros.
Prerrequisitos tcnicos
PrestaShop es un software pensado con el lenguaje de programacin PHP 5 y el sistema de base de datos MySQL 5. Para instalarlo, necesitar un servidor Web (Apache, IIS), tambin es posible utilizar un sistema en el que todo est incorporado, como WAMP, MAMP o EasyPHP. El 99% de los posting aceptan dichos elementos tcnicos, por lo que podr instalar fcilmente PrestaShop independientemente de cual sea su hosting.
5/41
PrestaShop
Descargar PrestaShop
El ltimo archivo estable de la solucin PrestaShop puede descargarse en la siguiente direccin:
http://www.prestashop.com/es/downloads/
Las versiones consideradas estables para utilizar en produccin llevan el trmino "final". Otras versiones en curso pueden ponerse a disposicin en esta pgina pero solo para test. Se identifican por las palabras "alpha", "beta" o "RC". Le desaconsejamos que utilice estas versiones en produccin.
Pulse en el botn Crear. La base de datos ya ha sido creada. Memorice el nombre de la base de datos, lo necesitar en la etapa 3 de la instalacin de PrestaShop.
6/41
PrestaShop
Lanzar la instalacin
Lanzar la instalacin, accediendo a partir de su navegador habitual, a la carpeta que contiene sus archivos PrestaShop. Por ejemplo, escribir www.mitienda.com si se encuentra en la raz de su sitio (o localhost en local), et www.mitienda.com/shop/ si se encuentra en una subcarpeta shop (o localhost/shop/ en local).
Etapa 1 Bienvenido
En qu idioma quiere efectuar la instalacin?
Seleccione el idioma que se utilizar en la ayuda de instalacin. La ayuda de instalacin PrestaShop se encuentra disponible en tres idiomas: ingls, francs y espaol.
Esta eleccin determina igualmente cul ser el idioma por defecto del Front Office y del Back Office despus de la instalacin. Existen paquetes de idiomas, disponibles gratuitamente que le permiten traducir tanto el Front Office como el Back Office de su tienda en la siguiente direccin:
http://www.prestashop.com/es/downloads/
Mtodo de instalacin
Para lanzar una nueva instalacin de PrestaShop, marque Instalacin completa de PrestaShop. Para efectuar la actualizacin de una tienda PrestaShop a una versin ms reciente, marque Actualizacin. Si el asistente de instalacin no detecta la instalacin anterior, slo se propondr la instalacin completa de PrestaShop.
Pulse en
7/41
PrestaShop
Si aparece un crculo rojo significa que la condicin correspondiente no se ha respetado; en ese caso es necesario corregir el problema. Las soluciones pueden ser diferentes en funcin del hosting. Haga una bsqueda de las soluciones que mejor se adapten a su caso en nuestro foro (http://www.prestashop.com/forums).
Parmetros opcionales
Todos los elementos de la siguiente lista son opcionales, pero se recomienda que se validen.
Si,
una
vez
solucionados .
los
problemas,
quiere
comprobar
su
configuracin,
pulse
en
Pulse en
8/41
PrestaShop
Los cuatro primeros campos Servidor, Nombre de la base, Identificacin y Contrasea permiten configurar el acceso a la base de datos creada precedentemente. En el caso de una tienda instalada en local y de la utilizacin de un programa tipo LAMP (EasyPHP, WAMP, MAMP, etc.) consulte la documentacin oficial del mismo para saber qu parmetros especificar. En el caso de una instalacin en un hosting, ste ha debido comunicarle todos los parmetros necesarios (por email o en el panel de administrador de su cuenta). El botn permite comprobar la conexin correcta a la base de datos. No es posible pasar a la etapa siguiente si este test no se realiza con xito. Si el acceso al servidor no es posible (servidor que no se lanza, nombre de servidor incorrecto, identificador o contrasea incorrectos), aparecer el siguiente mensaje:
Si no se ha encontrado la base de datos (base de datos no creada, nombre de la base de datos incorrecta), aparecer el siguiente mensaje:
Si los parmetros son correctos, el test ser validado por el siguiente mensaje:
El campo Prefijo de las tablas permite especificar el prefijo con el que se relacionar el nombre de todas las tablas creadas con la herramienta de instalacin PrestaShop en la base de datos. Este prefijo permite diferenciar fcilmente las tablas de varias aplicaciones que utilizaran la misma base de datos. Despus, deber elegir entre dos modos de instalacin:
Modo completo Las tablas de la base han sido creadas, los principales mdulos estn instalados y se han aadido ejemplos (categoras, productos, clientes, pedidos, etc.) a la base. Ideal para hacer pruebas! Modo simple Las tablas de la base de datos han sido creadas pero no se ha incluido ningn producto ejemplo ni se ha instalado ningn mdulo. Tras la instalacin, el Front Office aparecer prcticamente vaco. Este es,
9/41
PrestaShop
evidentemente, el modo que debe utilizar cuando instala su tienda definitiva , para que no se contamine con los datos de ejemplos del otro modo.
Logo de la tienda
Pulse en Recorrer para elegir en su disco duro la imagen correspondiente al logo de su tienda. Este campo es opcional, podr aadir su logo ms tarde, desde el Back Office (Back Office >> Preferencias >> Apariencia).
Nombre
Nombre del administrador de la tienda.
Apellido
Apellido del administrador de la tienda.
Direccin email
Direccin email del administrador de la tienda. Esta direccin servir como identificador de conexin en el panel de administrador de la tienda.
Contrasea de la tienda
Contrasea del administrador de la tienda. Esta debe contener al menos 8 caracteres, nicamente letras, cifras o guiones: - _ Confirmar la contrasea Introduzca de nuevo la contrasea del administrador de la tienda para verificacin.
10/41
PrestaShop
Recibir mis datos por email Si desea recibir sus datos de conexin por email, marque esta casilla.
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
Se aconseja evitar un nombre demasiado simple, como por ejemplo admin2. Estas operaciones se hacen manualmente en la carpeta de instalacin de su tienda, ya sea en su disco duro para una instalacin en local, o bien a travs de su cliente FTP si la instalacin se hace en un servidor distante. Si, en ese momento, intenta acceder a su panel de administrador pulsando de nuevo en el cuadro Back Office, aparecer un error 404 "Pgina no encontrada" ya que, al nombrar de nuevo la carpeta, se ha modificado su camino de acceso. Para poder acceder al mismo, basta con sustituir en la barra de direcciones de su navegador la carpeta admin por el nombre que le ha dado. Ejemplo en local Ejemplo en lnea Sustituir: Sustituir: http://127.0.0.1/shop/admin http://myshop.com/shop/admin por: por: http://127.0.0.1/shop/admin567 http://myshop.com/shop/admin567 En ese momento, tendr acceso al formulario de conexin y al panel de configuracin de su nueva tienda PrestaShop.
Personalice su tienda
Para terminar, esta quinta etapa del asistente de instalacin le permite descubrir las mltiples maneras de personalizar su tienda PrestaShop, tanto a nivel del aspecto como de las aplicaciones gracias a las numerosas contribuciones disponibles en addons.prestashop.com, el Marketplace de PrestaShop: www.addons.prestashop.com
12/41
PrestaShop
Copia de seguridad
Copia de seguridad de sus traducciones
Para exportar sus traducciones, utilice la herramienta del panel de administracin de PrestaShop prevista para tal efecto:
PrestaShop
Extraer y copiar
Extraer el archivo descargado a su disco duro y transferirlo con ayuda de su cliente FTP a la raz de su sitio Web o a la carpeta que contiene su tienda.
Despus aada la informacin que contena el anterior archivo .htaccess en el nuevo, suprimiendo posibles elementos que estn duplicados. Si utiliza un tema personalizado, copie la carpeta correspondiente a dicho tema a partir de la antigua versin: /myshop_old/themes/montheme hacia la nueva: /myshop/themes/montheme Copie el archivo: /myshop_old/config/settings.inc.php de su antigua tienda hacia la nueva: /myshop/config/settings.inc.php
14/41
PrestaShop
Instalar la actualizacin
Lance el asistente de instalacin a partir de su navegador aadiendo /install a la direccin de su tienda: http://www.myshop.com/myshop/install Siga el mismo proceso que para la instalacin pero esta vez marque la casilla Actualizacin en la primera etapa del asistente de instalacin.
Arquitectura general
PrestaShop es un software basado en una arquitectura tres capas, como nos muestra el siguiente esquema:
Este modelo retoma el principio de MVC ("Modelo-Vista-Controlador"), simplificndolo y hacindolo accesible a todos. Nuestro equipo tcnico ha decidido no utilizar Framework PHP (Zend Framework, Symfony, CakePHP...) para permitir una mayor visibilidad del cdigo y una modificacin ms rpida. Esto tambin permite obtener un mayor rendimiento, ya que el software contiene nicamente el cdigo PHP necesario para un funcionamiento correcto (y no un conjunto de libreras genricas). Las ventajas de la arquitectura tres capas son numerosas: La posibilidad de comprender fcilmente el cdigo fuente del software, Modificaciones rpidas y simples para los desarrolladores, La posibilidad para los grafistas/integradores de trabajar en la carpeta temas sin necesidad de comprender ni leer el cdigo PHP, La posibilidad para los desarrolladores de preparar datos y mdulos complementarios para el integrador.
15/41
PrestaShop
Cada mdulo PrestaShop, si ha sido instalado por el vendedor, puede intervenir en uno o varios "points d'accroche" llamados tambin "hook" en ingls. Un hook es la representacin en la vista a partir del momento
16/41
PrestaShop
en que se efecta un tratamiento del mdulo o se muestran informaciones (ejemplo: en el carrito, la ficha producto, tras actualizar el stock). Ms concretamente un hook es un atajo hacia los diferentes mtodos del objeto Mdulo asignados al mismo.
Front-office
Inicio y entorno del sitio
Nombre del hook Ubicacin (archivo) header.php Visible por los internautas No Descripcin Es llamado entre las etiquetas <head></head> de la pgina. Ideal parar cargar sus archivos Javascript y CSS. Es llamado en el encabezamiento de la pgina. Es llamado al cambiar la columna de la izquierda. Es llamado al cambiar la columna de la derecha. Es llamado al pie de pgina. Es llamado en el centro de la pgina de inicio.
header
S S S S S
Ficha producto
Nombre del hook extraLeft extraRight productActions Ubicacin (archivo) product.php product.php product.php Visible por los internautas S S S Descripcin Es llamado justo encima "Imprimir", bajo la foto. del link
Es llamado debajo del bloque que contiene el botn "Aadir al carrito". Es llamado en el interior del bloque que contiene el botn "Aadir al carrito", bajo el botn. Es llamado en el interior del bloque que contiene el botn "Aadir al carrito", debajo de la informacin "Disponibilidad:". Es llamado encima de las pestaas. Es llamado en la lista de las pestaas como "Ms informacin", "Caractersticas", "Accesorios" Ideal para aadir una pestaa suplementaria cuyo contenido administrar el hook productTabContent. Es llamado al pulsar en una de las pestaas, ideal para mostrar el contenido correspondiente a una pestaa que ha aadido con el hook productTab.
productOutOfStock
product.php
productfooter
product.php
productTab
product.php
productTabContent
product.php
17/41
PrestaShop
Carrito
Nombre del hook cart shoppingCart Ubicacin (archivo) Clase: Cart.php order.php Visible por los internautas No S Descripcin Es llamado justo despus de crear o actualizar un carrito. Es llamado debajo del cuadro que muestra los productos contenidos en el carrito. Es llamado debajo del cuadro que muestra los productos contenidos en el carrito, debajo de los botones de navegacin. Es llamado en el formulario de creacin de una cuenta cliente, encima del bloque "Sus datos personales". Es llamado en el formulario de creacin de una cuenta cliente, encima del botn "Inscripcin". Es llamado justo despus de la creacin de una cuenta cliente. Es llamado en Inicio de la cuenta cliente, en la parte inferior de la lista de los links disponibles. Ideal para aadir un link a dicha lista. Es llamado en el bloque "Mi cuenta" en la columna de la izquierda, en la parte inferior de la lista de los links disponibles. Ideal para aadir un link a dicha lista. Es llamado justo tras la identificacin de un cliente, nicamente si sta es vlida (direccin email y contrasea correctos).
shoppingCartExtra
order.php
createAccountTop
authentication.php
createAccountForm createAccount
authentication.php authentication.php
S No
customerAccount
my-account.php
myAccountBlock
Mdulo: blockmyaccount.php
authentication
authentication.php
No
Bsqueda
Nombre del hook Ubicacin (archivo) Clase: Search.php Visible por los internautas No Descripcin Es llamado despus de cada bsqueda. Ideal para analizar y/o optimizar las bsquedas (y resultados de bsqueda) efectuadas por sus clientes.
search
Eleccin de un transportista
Nombre del hook Ubicacin (archivo) Visible por los internautas Descripcin Es llamado debajo de la lista de los transportistas disponibles en el momento del pedido. Ideal para aadir un transportista desarrollado en forma de mdulo (ejemplo: transportista punto de entrega).
extraCarrier
order.php
Pago
Nombre del hook payment Ubicacin (archivo) order.php Visible por los internautas S Descripcin Es llamado para constituir la lista de modos de pago disponibles durante el proceso de pedido. Ideal para permitir
18/41
PrestaShop
elegir un mdulo de pago que usted mismo haya desarrollado. Es llamado al volver a la tienda despus de un pago. Ideal para mostrar un mensaje de confirmacin y/o para aportar precisiones relativas al pago. Idntico al paymentReturn. Es llamado al volver a la tienda tras un pago. Ideal para mostrar un mensaje de confirmacin y/o para aportar precisiones relativas al pago. Es llamado al mostrar la lista de modos de pago disponibles. Ideal para redirigir al comprador en lugar de mostrarle la lista (Ejemplo: Checkout 1-click PayPal).
paymentReturn
order-confirmation.php
orderConfirmation
order-confirmation.php
backBeforePayment
order.php
No
Devolucin mercanca
Nombre del hook orderReturn Ubicacin (archivo) order-follow.php Visible por los internautas No Descripcin Es llamado cuando un cliente solicita una devolucin del producto, nicamente si no ha aparecido ningn error. Es llamado al mostrar una factura en formato PDF. Ideal para mostrar contenido dinmico o esttico en dicha factura.
PDFInvoice
Classe : PDF.php
backOfficeHeader
header.inc.php
No
backOfficeFooter backOfficeHome
footer.inc.php index.php
S S
19/41
PrestaShop
cancelProduct invoice
AdminOrders.php AdminOrders.php
No S
Es llamado al suprimir un producto de un pedido, tras la supresin. Es llamado en el detalle de un pedido, antes del bloque relativo a los datos del cliente. Es llamado en el detalle de un pedido, tras el bloque relativo a los datos del cliente. Es llamado al crear un vale, tras la creacin.
adminOrder orderSlip
AdminOrders.php AdminOrders.php
S No
Productos
Nombre del hook addproduct updateproduct deleteproduct updateQuantity updateProductAttribute watermark Ubicacin (archivo) AdminProducts.php AdminProducts.php Clase: Product.php Clase: PaymentModule.php Clase: Product.php AdminProducts.php Visible por los internautas No No No No No No Descripcin Es llamado al crear o duplicar un producto, tras la creacin/duplicacin. Es llamado al actualizar un producto con una nueva foto, tras la actualizacin. Es llamado al suprimir un producto, antes de suprimirlo. Es llamado al validar un pedido cuyo estado no es "Anulado" o "Error de pago", para cada producto del pedido. Es llamado al actualizar una declinacin de producto, tras la actualizacin. Es llamado al aadir una imagen a un producto, despus de aadirlo.
Estadsticas
Nombre del hook GraphEngine GridEngine AdminStatsModules Ubicacin (archivo) Clase: ModuleGraph.php ModuleGridEngine.ph p AdminStatsTab.php Visible por los internautas S S S Descripcin Es llamado al mostrar un grfico de estadsticas. Es llamado al mostrar una lista de datos estadsticos. Es llamado al mostrar la lista de los mdulos de estadsticas.
Clientes
Nombre del hook adminCustomers Ubicacin (archivo) AdminCustomers.php Visible por los internautas S Descripcin Es llamado en el detalle de un cliente, tras la lista de los grupos de clientes a la que pertenece.
Transportistas
Nombre del hook updateCarrier Ubicacin (archivo) AdminCarriers.php Visible por los internautas No Descripcin Es llamado en el momento de actualizar un transportista, tras la actualizacin.
Al mostrar una pgina del sitio de venta en lnea, el motor PrestaShop comprueba, para cada uno de los hooks que la componen, qu mdulos debe llamar.
20/41
PrestaShop
Temas
El concepto
El software e-comercio PrestaShop propone un sistema de temas para permitir a los vendedores de venta en lnea una personalizacin con los colores de la tienda. Este sistema se articula en torno a un motor de plantillas llamado Smarty (http://www.smarty.net). Este ltimo permite a los integradores desarrollar fcilmente, sin conocimientos tcnicos especficos, sus propios temas. PrestaShop propone en estndar un tema neutro, con tonos grises, que permite desarrollar de manera sencilla y gratuita cualquier sector de actividad. Ms de 100 temas PrestaShop se encuentran disponibles en el sitio www.addons.prestashop.com Estos han sido realizados por la empresa PrestaShop y/o la comunidad PrestaShop y se comercializan a un precio muy abordable. Si usted es grafista/integrador, tambin puede proponer temas en PrestaShop Adons y percibir el 70% del importe de la venta de sus creaciones.
21/41
PrestaShop
As se presenta la arborescencia de un tema PrestaShop: La carpeta css contiene los archivos relativos a los estilos CSS del tema. La carpeta img contiene los archivos relativos a las imgenes del tema. La carpeta js contiene los archivos relativos a la Javascript del tema. La carpeta lang contiene las traducciones del tema. No se olvide de incluir los derechos correspondientes (ej: CHMOD 666) para que la herramienta de Back-office pueda guardar las traducciones. La raz del tema contiene nicamente los archivos .tpl (plantillas Smarty) as como el archivo preview.jpg. Nota: las carpetas css, img y js no son indispensables para el funcionamiento de un tema personalizado.
22/41
PrestaShop
La arborescencia de PrestaShop
Nuestro equipo tcnico ha querido separar de manera clara e intuitiva los diferentes elementos del software. A continuacin presentamos cada carpeta de la arborescencia de PrestaShop: admin: contiene la totalidad de los archivos relativos al Back-office de PrestaShop. Para ms seguridad ser necesario renombrarlo tras haber instalado PrestaShop. Importante: le recomendamos que proteja esta carpeta a travs de un archivo n.htaccess/.htpasswd classes: contiene la totalidad de los archivos relativos al modelo objeto de PrestaShop. Cada archivo representa una clase (un objeto) y sus propiedades/mtodos. config: contiene los archivos de configuracin de PrestaShop. Salvo caso excepcional, no debe editarlos manualmente, ya que estn administrados por la herramienta de instalacin y el Back-office. css: contiene los archivos CSS que no son relativos a los temas. Se trata por ejemplo de los archivos CSS del Back-office. docs: contiene documentacin y debe suprimirse si trabaja en un entorno de produccin. download: contiene sus productos desmaterializados (ejemplo: pdf, mp3). img: contiene la totalidad de las imgenes, iconos y fotos de PrestaShop, excepto los de los temas. En ella encontrar las fotos de las categoras de producto (subcarpeta c), las de los productos (subcarpeta p) e incluso las del Back-office (subcarpeta admin). install: contiene la totalidad de los archivos relativos a la herramienta de instalacin de PrestaShop. Deber suprimirlo una vez haya instalado PrestaShop para ms seguridad. js: contiene los archivos Javascript que no son relativos a los temas. Se trata por ejemplo de los archivos Javascript del Back-office. Tambin contiene el framework Javascript jQuery. mails: contiene la totalidad de los archivos HTML y TXT relativos a los emails enviados desde PrestaShop. Existe una subcarpeta por idioma disponible. Si desea modificar el contenido de un email, deber ir a esta carpeta para editarlo manualmente.
23/41
PrestaShop
modules: contiene una subcarpeta por mdulo disponible. Si desea desinstalar definitivamente un mdulo, comience por desinstalarlo a travs del Back-office de PrestaShop antes de suprimir su subcarpeta. themes: contiene una subcarpeta por tema disponible. tools: contiene herramientas externas integradas en PrestaShop. En elle encontramos fundamentalmente las siguientes herramientas: Smarty (motor de plantilla/tema), FPDF (motor de generacin de archivos PDF), Swift (motor de envo de emails), PEAR Xml parser (herramienta PHP). translations: contiene una subcarpeta por idioma disponible. Si desea modificar las traducciones, deber hacerlo a travs del Back-office de PrestaShop y no directamente en dichas carpetas. upload: contiene los archivos transmitidos por los clientes durante la compra de productos personalizables (ejemplo: la foto de un cliente para imprimirla en una taza).
Archivo config.inc.php
Si se encuentra en modo produccin, recuerde que debe dejar @ini_set('display_errors', 'Off'); en Off. Por el contrario, si se encuentra en fase de desarrollo, le ser til pasar a On para detectar posibles errores. Si se encuentra en modo produccin, recuerde que debe dejar define('_PS_DEBUG_SQL_', false); en false. Por el contrario, si se encuentra en fase de desarrollo, le ser til pasar a true para detectar posibles errores.
Archivo defines.inc.php
Este archivo contiene la totalidad de los emplazamientos de los archivos, a travs del mtodo PHP define(). Si desea modificar esos emplazamientos, no se olvide de modificar las lneas correspondientes.
Archivo smarty.config.inc.php
El sistema de cache de Smarty ($smarty->caching) se encuentra desactivado ya que no es compatible con el motor dinmico de PrestaShop. IMPORTANTE: el parmetro $smarty->force_compile, debe pasarse a false cuando tiene un sitio Web en produccin. Esto le permitir ganar hasta 30% de tiempo al cargar las pginas. En contrapartida, al modificar el archivo .tpl, deber suprimir el contenido de la carpeta /tools/smarty/compile/ (sauf index.php). El parmetro $smarty->compile_check debe dejarse en false. El parmetro $smarty->debugging le permite beneficiarse de informaciones de DEBUG Smarty al mostrar sus pginas.
PrestaShop
Reparta sus elementos estticos en subdominios diferentes para paralelizar los flujos http de los visitantes. Para ello, vaya al archivo config/defines.inc.php y aada lo siguiente:
if ($_SERVER['REMOTE_ADDR'] != '127.0.0.1') { define('_THEME_IMG_DIR_', 'http://img2.xxx.com/'); define('_THEME_CSS_DIR_', 'http://css.xxx.com/'); define('_THEME_JS_DIR_', 'http://js.xxx.com/'); define('_THEME_CAT_DIR_', 'http://img1.xxx.com/c/'); define('_THEME_PROD_DIR_', 'http://img1.xxx.com/p/'); define('_THEME_MANU_DIR_', 'http://img1.xxx.com/m/'); define('_PS_IMG_', 'http://img1.xxx.com/'); define('_PS_ADMIN_IMG_', 'http://img1.xxx.com/admin/');
} else { define('_THEME_IMG_DIR_', _THEMES_DIR_._THEME_NAME_.'/img/'); define('_THEME_CSS_DIR_', _THEMES_DIR_._THEME_NAME_.'/css/'); define('_THEME_JS_DIR_', _THEMES_DIR_._THEME_NAME_.'/js/'); define('_THEME_CAT_DIR_', __PS_BASE_URI__.'img/c/'); define('_THEME_PROD_DIR_', __PS_BASE_URI__.'img/p/'); define('_THEME_MANU_DIR_', __PS_BASE_URI__.'img/m/'); define('_PS_IMG_', __PS_BASE_URI__.'img/'); define('_PS_ADMIN_IMG_', _PS_IMG_.'admin/'); }
Instale un cache de opcode (o pida a su hosting que lo haga), PrestaShop es compatible con eAccelerator: http://www.eaccelerator.net/. Esto le permitir ganar en trminos de carga de procesador.
PrestaShop
Arborescencia de un tema
Archivo / Carpeta Descripcin Imagen utilizada como previsualizacin en el apartado de la pgina Panel de administracin >> Preferencias >> Apariencia. La presencia de esta imagen es obligatoria, si no, el tema no puede seleccionarse en este apartado. Pgina mostrada cuando la pgina solicitada no se encuentra (erreur 404). Pgina para aadir o modificar una direccin cliente. Pgina que lista las direcciones de un cliente. Pgina de identificacin y de creacin de cuenta. Pgina que lista las mejores ventas. Camino de navegacin (raz de navegacin). Utilizado nicamente para el bloque Categoras. Pgina que lista los productos en el seno de una categora. Pginas informativas (pestaa Outil >> CMS del BO). Pgina del formulario de contacto. Pgina que lista los vales descuento de un cliente. Es llamado por la totalidad de las pginas. Muestra los errores. Pie de pgina. Encabezado. Pgina que lista los pedidos de un cliente. Pgina de modificacin de los datos personales de un cliente. Pgina de inicio. Pgina de mantenimiento del sitio. Pgina que lista los fabricantes. Pgina que lista los productos de un fabricante. Pgina de inicio de cuenta de un cliente. Pgina que lista los productos aadidos recientemente. Pgina del proceso de pedido: Etapa 1 Eleccin de las direcciones (entrega, facturacin). Pgina del proceso de pedido: Etapa 2 eleccin del modo de entrega. Pgina de confirmacin de pedido (despus del pago). Pgina de detalle del pedido de un cliente. Pgina de solicitud de devolucin por parte de un cliente. Pgina del proceso de pedido: Etapa 3 elegir modo de pago. Pgina de detalle de la devolucin de un cliente. Pgina que lista los vales de un cliente. Barra de evolucin del proceso de pedido. Es llamado por todas las pginas que listan productos. Botones que permiten cambiar de pgina en una lista de productos. Pgina de cambio de contrasea de un cliente. Pgina que lista los descuentos. Es llamado por todas las pginas que listan productos. Lista de los productos. Es llamado por todas las pginas que listan productos. Men que permite filtrar una lista de productos. Pgina de detalle de un producto. Pgina de detalle de una escena en una categora de productos. Pgina que lista los resultados de una bsqueda. Pgina de detalle de una lnea del carrito. Pgina que lista los productos en el carrito de un cliente. Pgina de plano del sitio Web.
27/41
preview.jpg
404.tpl address.tpl addresses.tpl authentication.tpl best-sales.tpl breadcrumb.tpl category-tree-branch.tpl category.tpl cms.tpl contact-form.tpl discount.tpl errors.tpl footer.tpl header.tpl history.tpl identity.tpl index.tpl maintenance.tpl manufacturer-list.tpl manufacturer.tpl my-account.tpl new-products.tpl order-address.tpl order-carrier.tpl order-confirmation.tpl order-detail.tpl order-follow.tpl order-payment.tpl order-return.tpl order-slip.tpl order-steps.tpl pagination.tpl password.tpl prices-drop.tpl product-list.tpl product-sort.tpl product.tpl scenes.tpl search.tpl shopping-cart-productline.tpl shopping-cart.tpl sitemap.tpl
PrestaShop
img js
lang
Pgina que lista los proveedores. Pgina que lista los productos de un proveedor. Pgina de zoom de la foto de un producto. Contiene las hojas de estilo del tema. El archivo global.css incluye los elementos para dar forma a la mayor parte del sitio Web. Excepto si es un usuario avanzado, le recomendamos que deje los archivos de origen. Contiene las imgenes del tema. Sustituye las imgenes adecuadas por sus propias creaciones. Excepto si es un usuario avanzado, le recomendamos que deje los archivos de origen. Scripts JavaScript utilizados en el tema. Excepto si es un usuario avanzado, le recomendamos que deje los archivos de origen. Archivos de traduccin. Estos archivos son generados por el Back Office y su contenido debe modificarse a partir de la herramienta Panel de Administracin >> Herramientas >> Traducciones, apartado Modificar las traducciones.
JavaScript
Las aplicaciones JavaScript deben archivarse en la carpeta js.
Archivo preview.jpg
Una vez que haya terminado su tema, no olvide hacer una captura de pantalla, redimensionarla y copiar el archivo en lugar del archivo preview.jpg que ya se encuentra presente en el tema. Para hacer una captura de pantalla de una pgina Web completa de un tamao superior a la imagen, puede resultar muy prctico recurrir a un add-on de Firefox como FireShot o ScreenGrab.
28/41
PrestaShop
PrestaShop
Este archivo es suficiente para crear un mdulo bsico. Otros archivos y subcarpetas podrn completarlo ms tarde. Un archivo TPL ser til en el caso de mostrar datos en el Front Office. Los archivos TPL deben estar situados en la raz del mdulo. Los archivos TPL pueden tener cualquier nombre. Cuando slo hay uno, se llama a menudo como el mdulo, pero es conveniente acostumbrarse a darles nombres explcitos.
El archivo mymodule.php va a contener la clase de nuestro mdulo. Esta tendr el mismo nombre que el mdulo, y por lo tanto que el repertorio padre. Adems, esta clase hereda de la clase Mdulo (/classes/Module.php) o de cualquier clase derivada (PaymentModule, ModuleGridEngine, ModuleGraph) poniendo as a nuestra disposicin algunas propiedades y mtodos.
Fichier mymodule.php <?php class MyModule extends Module { public function __construct() { $this->name = 'mymodule'; $this->tab = 'Test'; $this->version = 1.0; parent::__construct(); $this->displayName = $this->l('My module'); $this->description = $this->l('Description of my module.');
} ?>
Constructor de la clase.
$this->name = 'mymodule';
Ttulo del cuadro que contendr el mdulo en la lista de mdulos del Back Office. Puede tratarse de un nombre que ya existe (Products, Blocks, Stats) o de un nombre personalizado. En este ltimo caso, se crear un nuevo cuadro con dicho ttulo.
$this->version = '1.0';
Llamar al constructor padre. Debe llamarse al constructor obligatoriamente antes de la utilizacin de los mtodos $this->l() y una vez se haya guardado el nombre. En antiguas versiones de PrestaShop (< 1.3) aparece lo siguiente:
$this->page = basename(__FILE__, '.php');
Permite recuperar el nombre del archivo, sin la extensin '.php'. __FILE__ es una costante mgica que contiene el camino y el nombre del archivo (desde PHP 4.0.2, __FILE__ contiene siempre el camino absoluto). La funcin basename() separa el nombre el archivo del resto del camino, y el argumento '.php' sirve para suprimir dicho prefijo.
30/41
PrestaShop
Nombre del mdulo mostrado en la lista de mdulos del Back Office. Veremos ms adelante como traducir el texto 'My module'. El llamamiento al mtodo l() se explica ms adelante, en el prrafo "Traduccin de los mdulos ".
$this->description = $this->l('Description of my module.');
Descripcin del mdulo mostrado en la lista de mdulos del Back Office. El llamamiento al mtodo l() se explica ms adelante, en el prrafo "Traduccin de los mdulos ".
public function install() { if(parent::install() == false) return false; return true; }
Tal cual, este mtodo no es imprescindible, ya que lo nico que hace es comprobar la devolucin del mtodo install() de la clase Module.php. Por otra parte, si este mtodo estuviera ausente, el mtodo de la clase madre sera llamado automticamente y el resultado sera el mismo. No obstante, mencionamos este mtodo aqu, ya que nos servir para hacer controles y otras acciones durante la instalacin del mdulo (creacin de tablas, copia de archivos, creacin de variables de configuracin, etc.). De la misma manera, el mdulo podr contener un mtodo uninstall() que permita personalizar la desinstalacin del mdulo. Un ejemplo de utilizacin de este mtodo:
public function uninstall() { Db::getInstance()->Execute('DELETE FROM `'._DB_PREFIX_.'block_cms` WHERE `id_block` ='.intval($this->id)); parent::uninstall(); }
Para terminar nuestro mdulo de base, vamos a aadir un icono al lado del nombre del mdulo en la lista de los mdulos. Para ello, basta con poner una imagen 16x16 en la carpeta del mdulo y llamarla logo.gif. El sitio http://www.famfamfam.com/lab/icons/silk/ propone una gran biblioteca de iconos gratuitos. A continuacin, en la pestaa Panel de administrador >> Mdulos, el resultado obtenido con el cdigo anterior.
Un clic en el botn llama al mtodo install() del mdulo que llama a su vez al mtodo install() de la clase Module.php que aade a su vez una ocurrencia a la tabla ps_module.
Configuracin de un mdulo
Como decamos anteriormente, es posible hacer mdulos configurables y por lo tanto adaptables a las necesidades de un gran nmero de usuarios. Para permitir el acceso a la interfaz de configuracin de un mdulo, hay que aadir una funcin getContent() a la clase de nuestro mdulo.
Fichier mymodule.php (extrait) public function getContent () { // Instructions de la page de configuration }
El simple hecho de aadir esta funcin provoca la aparicin de un enlace >> Configurar.
31/41
PrestaShop
Trasladar un mdulo
Para que un mdulo se traslade a un lugar en el Front Office o en el Back Office, por ejemplo, para mostrar un bloque o para ejecutar un tratamiento en un momento determinado, hay que permitirle utilizar uno de los hooks que hemos visto anteriormente. Para ello, vamos a modificar el cdigo de nuestro mdulo de la siguiente manera:
Fichier mymodule.php (extrait) public function install() { if(parent::install() == false OR !$this->registerHook('leftColumn')) return false; return true; } public function hookLeftColumn($params) { global $smarty; return $this->display(__FILE__, 'mymodule.tpl'); } public function hookRightColumn($params) { return $this->hookLeftColumn($params); } if(parent::install() == false OR !$this->registerHook('leftColumn'))
Este mtodo permite que se muestre el aspecto final en la columna de la izquierda del Front Office.
public function hookRightColumn($params) { return $this->hookLeftColumn($params); }
Este mtodo permite que se muestre el aspecto final en la columna de la derecha del Front Office. Consiste simplemente en llamar a la funcin hookLeftColumn(). A partir de este momento ya es posible trasladar este mdulo al hook que se desee y en el lugar que se quiera en dicho hook. La eleccin del o de los hooks a los que se va a trasladar el mdulo se hace en la pestaa Panel de administracin >> Mdulos >> Posiciones del Back Office.
Pulse en Trasladar un mdulo, en el campo Mdulo seleccionar el mdulo que se va a trasladar, en este caso "My module" y en el campo Trasladar el mdulo a elegir "Left column blocks" , despus pulsar en guardar para validar.
32/41
PrestaShop
Atencin: es intil trasladar un mdulo a un hook para el que no se ha implementado ningn mtodo. Volver a la pgina Panel de administracin >> Mdulos >> Posiciones, y en el cuadro "Left column blocks" desplazar el recuadro "My module" hacia el lugar deseado, con ayuda de las flechas o con un arrastrar-colocar.
Mostrar un mdulo
Nuestro mdulo necesita mostrar algo en la columna de la izquierda del Front Office.
33/41
PrestaShop
Como nos muestra Firebug, la columna de la izquierda de PrestaShop est materializada por una etiqueta <div> con el nombre de "left_column". La funcin hookLeftColumn() va a mostrar como aparece nuestro mdulo en esta div. Como ya hemos visto, el archivo que contiene los elementos que van a mostrarse es, en nuestro caso, el archivo mymodule.tpl que hemos pasado en parmetros del mtodo display() en el mtodo hookLeftColumn().
return $this->display(__FILE__, 'mymodule.tpl');
34/41
PrestaShop
<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 aadir texto.
Fichier mymodule_page.php Welcome to my shop!
Un clic en el link nos conduce a nuestra pgina, pero el aspecto no es muy "PrestaShop".
Por lo tanto, vamos a crear un archivo mymodule_page.tpl, en el que copiaremos el contenido de nuestro archivo mymodule_page.php, que en nuestro caso es:
Fichier mymodule_page.tpl Welcome to my shop!
Nota: le recomendamos que nombre sus archivos TPL con nombres explcitos para encontrarlos ms fcilmente en el Back Office de PrestaShop posteriormente (en especial a nivel de las traducciones). Y en el archivo mymodule_page.php, vamos por supuesto a llamar al archivo TPL de nuevo para que Smarty se encargue de mostrarlo, pero tambin vamos a provocar la llamada de archivos TPL encargados de mostrar el resto de la interfaz del Front Office, es decir los archivos header.tpl y footer.tpl. El cdigo de nuestro archivo pasa as a:
Fichier mymodule_page.php <?php global $smarty; include('../../config/config.inc.php'); include('../../header.php'); $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');
35/41
PrestaShop include('../../footer.php');
Llamada de los archivos PHP encargados de mostrar el resto del formato, en especial afectando a cada variable Smarty que corresponde a los hooks, su contenido. Estos archivos llaman respectivamente a header.tpl y a footer.tpl que hacen posible el aspecto final.
$smarty->display(dirname(__FILE__).'/mymodule_page.tpl');
Llamada de nuestro archivo mymodule_page.tpl para mostrarlo. Si cargamos de nuevo la pgina del Front Office, el resultado es mucho ms atractivo! ;-)
Utilizacin de Smarty
Smarty es el motor de plantillas utilizado en PrestaShop. Recorre los archivos TPL en bsqueda de elementos dinmicos para sustituirlos por los datos adecuados antes de mostrar el resultado obtenido. Dichos elementos aparecen entre llaves { }. El usuario puede crear sus propias variables y usarlas en los archivos TPL. Por ejemplo, en el archivo mymodule_page.php, se crea una variable.
Fichier mymodule_page.php <?php global $smarty; include('../../config/config.inc.php'); include('../../header.php'); include(MyModule.php'); $mymodule = new MyModule(); $message = $mymodule->l('Welcome to my shop!'); $smarty->assign('messageSmarty', $message); $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}
De la misma manera, el elemento{$HOOK_LEFT_COLUMN} ser sustituido por el contenido de la columna de la izquierda, es decir por el contenido de todos los mdulos trasplantados al hook correspondiente a dicha columna. 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 continuacin presentamos una lista de variables Smarty comunes a todas las pginas: Archivo / Carpeta Descripcin img_ps_dir URL de la carpeta imagen. img_cat_dir URL de la carpeta imagen de las categoras. 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
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. URL de la carpeta css del tema. URL de la carpeta javascript del tema. URL de la carpeta del tema corriente. URL de la carpeta de los mdulos. URL de la carpeta de las plantillas de email. URL de la carpeta de descarga. Cdigo ISO del idioma utilizado. URL del origen del usuario. Nombre de la tienda. Nombre de productos en el carrito. El carrito. Las diferentes divisas disponibles. ID de la divisa utilizada. Objet Currency (divisa actualmente utilizada). Cookie del usuario. Lista de los diferentes idiomas disponibles. Indica si el usuario dispone de una cuenta cliente. Nombre de la pgina. Nombre del cliente (cuando est conectado). Modo de mostrar los precios (con o sin IVA, ). Modo de redondeo utilizado. Indica si los impuestos estn activados.
Para mostrar todas las variables Smarty disponibles en una pgina determinada, se puede aadir la siguiente instruccin en el archivo TPL :
{debug}
Para poner una parte de un archivo TPL en comentario, en lugar de utilizar los comentarios HTML que se encuentran en el cdigo fuente de la pgina, se pueden usar los comentarios Smarty {* *}.
{* Cette chane est un commentaire et ne sera pas affiche. *}
Vamos a ver como es posible la traduccin de nuestros textos. Para ello, utilizaremos, en los archivos PHP, el mtodo l() de la clase abstracta Module.php. Sin embargo, en los archivos TPL los textos estticos pasarn a ser elementos dinmicos que Smarty sustituir por la traduccin correspondiente en el idioma elegido. De esta manera, en mymodule.php ya hemos visto brevemente el uso del mtodo l() :
$this->displayName = $this->l('My module'); $this->description = $this->l('Description of my module.');
37/41
PrestaShop
En mymodule.tpl :
<h4>Welcome!</h4> Click me! <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 parmetro 'mod' es obligatorio en las plantillas del mdulo para que la herramienta de traduccin pueda hacer la correspondencia entre la cadena de caracteres que deben traducirse y la traduccin, para que sta pueda mostrarse. Slo deben usarse apstrofes para delimitar las cadenas que hay que traducir. Separar los posibles apstrofes de la cadena con una barra invertida '\'. Esto nos permitir traducir nuestras cadenas de caracteres en los idiomas instalados en nuestra tienda. Para ello, vaya a la pestaa Panel de administracin >> Herramientas >> Traducciones y en el apartado Modificar las traducciones, seleccionar en la lista "Traduccin de los mdulos", despus pulsar en la bandera francesa para traducir dicho mdulo al francs. La seccin correspondiente a nuestro mdulo se despliega ya que contiene cadenas que an no se han traducido. Basta entonces con rellenar los campos de la parte derecha con los equivalentes en francs de las cadenas situadas a la izquierda y validar pulsando en guardar cambios en la parte superior o inferior de la pgina.
En la carpeta mymodule correspondiente a nuestro mdulo, se ha creado un archivo es.php con el contenido de las traducciones.
Fichier es.php <?php global $_MODULE; $_MODULE = array(); $_MODULE['<{mymodule}prestashop>mymodule_2ddddc2a736e4128ce1cdfd22b041e7f'] = 'Mi mdulo'; $_MODULE['<{mymodule}prestashop>mymodule_d6968577f69f08c93c209bd8b6b3d4d5'] = 'Descripcin de mi mdulo.'; $_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
Estos archivos de idiomas no deben editarse directamente ya que la utilizacin de un editor poco apropiado para modificarlos, podra originar problemas. Las traducciones deben realizarse a partir de la herramienta de traduccin del Back Office. Si elegimos el francs como idioma en el Front Office o en el Back Office, podemos ver el mdulo traducido. Langue Back Office Front Office
Para que la herramienta de traduccin de PrestaShop tenga en cuenta las traducciones, es necesario que los archivos PHP y TPL que contienen las cadenas que van a traducirse se encuentren situados en la raz del mdulo.
<?php class Test extends ObjectModel { /** @var string Name */ public $test; protected protected protected protected protected $fieldsRequired = array('test'); $fieldsSize = array('test' => 64); $fieldsValidate = array('test' => 'isGenericName'); $table = 'test'; $identifier = 'id_test';
4. 5.
Cree un archivo vaco llamado AdminTest.php en la carpeta admin/tabs. En su archivo aada las siguientes lneas:
<?php include_once(PS_ADMIN_DIR.'/../classes/AdminTab.php'); class AdminTest extends AdminTab { public function __construct() { $this->table = 'test'; $this->className = 'Test'; $this->lang = false; $this->edit = true; $this->delete = true; 39/41
PrestaShop
Documentacin: documentacin tcnica de PrestaShop $this->fieldsDisplay = array( 'id_test' => array('title' => $this->l('ID'), 'align' => 'center', 'width' => 25), 'test' => array('title' => $this->l('Name'), 'width' => 200)); $this->identifier = 'id_test'; } parent::__construct();
public function displayForm() { global $currentIndex; $defaultLanguage = intval(Configuration::get('PS_LANG_DEFAULT')); $languages = Language::getLanguages(); $obj = $this->loadObject(true); echo ' <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 algn problema, le recomendamos que siga las siguientes etapas para encontrar ayuda:
PrestaShop
http://svn.prestashop.com/trunk/
Para utilizar esta versin SVN para hacer test o desarrollos, puede por ejemplo utilizar unos de los siguientes softwares (lista no exhaustiva): Systema de explotacin Linux Mac Windows Software KDESvn svnX TortoiseSVN http://kdesvn.alwins-world.de/
http://www.lachoseinteractive.net/fr/communaute/subversion/svnx/telecharger/
URL
http://tortoisesvn.net/
Participar en el foro
Si a pesar de todo, no ha encontrado ninguna solucin, haga su pregunta en el foro, de la manera ms 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.
http://www.prestashop.com/bug_tracker/report/bug/
41/41