Buscar en el blog

JA Marketplace versión 7.0.0

03/07/2020
JA Modules

Actualización muy importante del módulo JA Marketplace en la que se ha agregado muchas nuevas características tales como el doble control de seguridad y la mejora considerable de muchas de las páginas de la cuenta de vendedor.

Cambios recientes:

VERSION 7.0.0 (19/06/2020) - major upgrade

 * ADD: use init() function in controllers

 * ADD: double security for seller account with security token

 * ADD: code has been split to make it easier to maintain

 * ADD: the template system has changed a lot and is divided into blocks

 * ADD: use $urls.base_url global variable in footer links

 * ADD: added the class "jmarketplace-panel" to create blocks

 * ADD: unify "addseller" and "editseller" in "seller" controller

 * ADD: required fields for seller account

 * ADD: now the seller's url can be generated with the store name

 * ADD: "addseller.js" now is "seller.js"

 * ADD: the link to the seller's catalog has been relocated in the seller's profile

 * ADD: new rating star system for seller comments

 * ADD: change of appearance on the market sellers page

 * ADD: appearance change on customer favorites page

 * ADD: unify "order" and "orders" in "order" controller

 * ADD: major design changes on seller order page

 * ADD: the seller's order number now appears in the header in the order list

 * ADD: now the seller can contact the customer from the order

 * ADD: seller action confirmation messages are now displayed on your order page

 * ADD: now the seller can print your order

 * ADD: unify "carriers", "addcarrier" and "editcarrier" in "carrier" controller

 * ADD: "addcarrier.js" now is "sellercarrier.js"

 * ADD: a dropdown menu is now used for action buttons from seller's carriers list

 * ADD: "dashobard" controller now is "sellerdashboard" controller

 * ADD: "sellerinvoicehistory" now is in "sellerinvoice" controller

 * ADD: now it is possible to indicate what type of graph the seller will see on his dashboard (bar or line)

 * ADD: better organization of the seller's withdrawal page

 * ADD: now the administrator can set the number of days that will allow the seller to request a withdrawal

 * ADD: unify "sellerproducts", "addproduct" and "editproduct" in "sellerproduct" controller

 * ADD: seller action confirmation messages are now displayed on your product list

 * ADD: most advanced filter in the seller's product list

 * ADD: now the seller can duplicate products

 * ADD: call "actionProductAdd" hook when seller create a product

 * ADD: link to import and export products is now within the seller's product list, removed from menu

 * ADD: reference is now displayed in the seller's product listing

 * ADD: a dropdown menu is now used for action buttons from seller's product list

 * ADD: from the seller's products page there is now a link to the online catalog

 * ADD: "addproduct.js" now is "sellerproduct.js"

 * ADD: "sellerproducts.js" now is "sellerproduct.js"

 * ADD: "sellerproductlist" now is "sellercatalog" controller

 * ADD: in the seller's catalog there is now a header showing the seller's name, description, and photo

 * ADD: the seller's catalog shows the number of products that are enabled and a filter that allows ordering by relevance, name and price

 * ADD: in the seller's online catalog there is now pagination considering the all parameters established in the store configuration

 * ADD: the association of products with the seller already appear on the webservices

 * ADD: sellers page layout improvements

 * ADD: pagination added on sellers page

 * ADD: error handling of forms has been improved

 * ADD: fontawesome 5

 * ADD: flexbox

 * ADD: use Bootstrap modal windows for some cases as transfer history or send a message

 * ADD: a little rounding has been applied to the seller account buttons

 * ADD: now it is possible use fontawesome or material icons

 * ADD: update module description

 * ADD: seller image appears on product page

 * ADD: statistics or data summary in the seller view (backoffice)

 * ADD: seller can now keep top menu and options menu hidden or visible

* ADD: now it is possible to indicate whether the seller assumes the discounts or not

 * ADD: use Media::addJSDef() for Javascript variables

 * ADD: 12 new hooks added

---

Actualización muy importante de nuestro módulo principal en la que hemos agregado un montón de características que seguro te van a interesar.

Es importante saber que esta actualización solo está disponible para PrestaShop 1.7.5 en adelante.

Ahora en todos los controladores de la cuenta de vendedor se utilizan la función init() heredada de las características de PrestaShop para controlar el acceso a las páginas. Esto es una modificación técnica que no representa nada visualmente pero da más seguridad a la cuenta de vendedor.

Además, se agregó una doble seguridad a la cuenta de vendedor agregando un token único para cada vendedor. Esto significa que los enlaces de la cuenta de vendedor ahora son únicos y solo el mismo vendedor puede acceder.

Tanto el código PHP que se usa para la creación de la lógica del módulo como el código Smarty que se usa para la visualización de las plantillas ha sido dividido con el objetivo principal de facilitar el mantenimiento. Se ha dividido en aproximadamente un 80%. Poco a poco, lo iremos dividiendo más.

Esto significa que si has realizado modificaciones en tu instalación actual de JA Marketplace y deseas actualizar, vas a tener que prestar mucha atención a los nuevas plantillas y controladores que tiene esta nueva versión.

El sistema de plantillas ha cambiado mucho y ahora se divide en bloques o archivos más pequeños.

Los enlaces del pie de página ahora usan la variable global "$urls.base_url".

En la medida de lo posible, se usa la misma plantilla para el pie de página de todas las páginas de la cuenta de vendedor.

A nivel de estilos CSS, se agregó la clase "jmarketplace-panel" para crear bloques de contenido dentro de las páginas con un borde redondeado. Esto mejora considerablemente la presencia de la información disponible en la página para los vendedores y clientes. Remarcamos que la hoja de estilos también ha cambiado considerablemente.

El controlador "addseller" y "editseller" se han unificado. Ahora se usa el controlador "seller" para crear cuentas de vendedor y para editarlas.

Lo mismo ocurre para las plantillas Smarty. El archivo "addseller.tpl" y "editseller.tpl" han sido reemplazados por "seller.tpl".

Para la cuenta de vendedor se agregaron la selección de campos obligatorios. Ahora el administrador puede decidir que campos son obligatorios para crear y editar una cuenta de vendedor.

Ahora es posible generar la url del vendedor con el nombre de la tienda en vez de con el nombre del vendedor. El administrador puede decidir este comportamiento desde la configuración del módulo.

Se eliminó el archivo "addseller.js" para reemplazarlo por "seller.js".

En el perfil del vendedor se ha reubicado el enlace al catálogo del vendedor. Si el administrador decide mostrar las novedades en el perfil del vendedor, el enlace para ver el catálogo del vendedor aparece justo debajo de los productos nuevos del vendedor. En caso contrario, el enlace para ver el catálogo se mantiene en el mismo lugar que antes.

Se agregó un nuevo sistema de clasificación mediante estrellas para los comentarios y valoraciones del vendedor. Ahora se utilizan los iconos de Font Awesome o Material Icons para su visualización. Además de eso, el código JavaScript para controlar el número de estrellas que selecciona el cliente es mucho más simple y no utiliza plugins externos.

La página de vendedores favoritos de la cuenta de cliente ha tenido un cambio importante en su apariencia.

Se ha unificado el controlador "order" y "orders" en un único controlador "order". De esta forma, seguimos simplificando y reduciendo el código.

El número de pedidos del vendedor ahora aparece en el encabezado de pedidos.

La página del pedido del vendedor ha tenido cambios importantes en su diseño pero manteniendo la misma estructura.

Ahora el vendedor puede enviar un mensaje al cliente desde la gestión del pedido.

En la gestión del pedido se agregaron los mensajes de confirmación de las acciones de cambio de estado del pedido e introducción del número de seguimiento.

Ahora el vendedor puede imprimir su pedido con un formato más aceptable.

Los controladores "carriers" y "addcarrier" se han unificado en el controlador "carrier".

El archivo "addcarrier.js" se reemplazó por "sellercarrier.js".

Ahora se muestra un menú desplegable para los botones de acción de la lista de transportistas del vendedor en las que aparece la opción de modificar y eliminar.

El controlador "dashboard" se ha cambiado a "sellerdashboard".

En el "dashboard" o resumen de ventas ahora el filtro del vendedor se mantiene en el tiempo ya que su selección queda registrada en la cookie de sesión.

El controlador "sellerinvoicehistory" que permite mostrar un listado de las solicitudes de transferencias del vendedor se eliminó. Ahora su contenido está dentro del controlador "sellerinvoice".

Desde la configuración del módulo ahora es posible indicar que tipo de gráfica verá el vendedor en su tablero (barra o lineal).

La página que permite retirar fondos al vendedor ha sido estudiada con mucho detenimiento. Se ha mejorado la organización de la página en 3 bloques más visibles.

Ahora aparece un bloque con el resumen en el que el vendedor puede ver:

  • Fecha del último retiro
  • Cantidad total recibida
  • Cantidad pendiente
  • Cantidad cancelada
  • Cantidad mínima para solicitar una transferencia de fondos
  • Número de días que deben transcurrir para solicitar una transferencia de fondos
  • Cantidad cobrable para la próxima facturación

Al lado del resumen, aparece la información para el pago. Los detalles para la factura del vendedor y el método de pago escogido aparecen en este bloque.

Finalmente, debajo del resumen y de la información del pago, aparece un listado del dinero o transacciones que se pueden retirar agregando una factura o no.

Desde la configuración del módulo ahora el administrador puede establecer el número de días que le permitirán al vendedor solicitar un retiro de fondos. Se puede indicar el valor 0 para omitir esta característica.

Los controladores "sellerproducts", "addproduct", 'editproduct' y "csvproducts" se han unificado en un único controlador "sellerproduct".

Los mensajes de confirmación de acciones sobre el producto del vendedor ahora se muestran en la lista de productos.

La tabla que muestra la lista de productos del vendedor ha sido mejorada considerablemente. Se agregó un filtro más avanzado y ahora es posible ordenar por cada campo en formato ascendente o descendente.

La información del filtrado del vendedor ahora se mantiene en el tiempo ya que su información es almacenada en la cookie de sesión.

Ahora se muestra un menú desplegable para los botones de acción de la lista de productos del vendedor en la que se podría ver, editar, duplicar o eliminar.

Se agregó una nueva acción para la lista de productos del vendedor. Ahora el vendedor puede duplicar sus productos.

A nivel técnico ahora se está ejecutando el gancho "actionProductAdd" cuando el vendedor crea un nuevo producto.

El enlace para exportar e importar productos ya no está en el menú principal. Ahora aparece en la cabecera de la lista de productos del vendedor, en los botones de la derecha.

En el listado de productos del vendedor ahora se muestra la referencia del producto. El filtro puede encontrar los productos también según la referencia.

En en la cabecera del listado de productos del vendedor se agregó un enlace que permite acceder directamente al catálogo del vendedor.

El archivo "addproduct.js" ha sido sustituido por "sellerproduct.js".

El contenido del archivo "sellerproducts.js" ha sido agregado al nuevo archivo "sellerproduct.js".

El controlador "sellerproductlist" ha sido reemplazado por el controlador "sellercatalog".

El catálogo del vendedor o página que muestra todos los productos del vendedor al cliente ha sido mejorada considerablemente.

En el catálogo del vendedor ahora se muestra un encabezado con el nombre, descripción y foto o logo del vendedor.

El catálogo del vendedor también muestra la cantidad de productos que el vendedor tiene disponibles y los clientes tienen disponible un selector que permite ordenar los productos por relevancia, nombre o precio.

En el catálogo del vendedor se agregó la paginación considerando todos los parámetros establecidos en la configuración de la tienda.

La asociación de productos con el vendedor ya aparece en los servicios web (webservices).

La página de vendedores del mercado ha tenido cambios importantes para su apariencia y, además, se agregó la paginación de vendedores.

El manejo de errores de los formularios se ha mejorado de forma general.

Se agregó la característica Font Awesome 5 con formato svg. Además de eso, el administrador puede decidir que fuente de iconos desea utilizar para su mercado: Font Awesome o Material Icons. Esto es una muy buena función ya que algunas plantillas no funcionan bien con Font Awesome y quizá pueden funcionar bien con Material Icons, considerando que la plantilla clásica de PrestaShop 1.7 utiliza esta fuente de iconos.

En algunos puntos del diseño se utiliza la nueva tecnología Flexbox para acomodar los elementos en la pantalla.

Ahora se utilizan las ventanas modales que Bootstrap trae para algunos casos especiales como la visualización del historial de retiros o para enviar un mensaje.

A nivel de diseño, se aplicó un pequeño redondeo a los botones que aparecen en la cuenta de vendedor.

Se actualizó la descripción del módulo que quedó desfasada.

En el bloque de información adicional de la página del producto, ahora la imagen del vendedor aparece justo al lado del nombre y las estrellas de valoración.

En la página que permite mostrar la información del vendedor (Backoffice) se eliminó el listado de productos para agregar un bloque de estadísticas del vendedor, una información mucho más interesante y no duplicada. Ahora aparece unas estadísticas o resumen de datos del vendedor tales como:

  • Número de productos subidos.
  • Número de productos habilitados.
  • Número de productos inhabitados.
  • Transportistas creados.
  • Pedidos recibidos.
  • Comisiones pagadas.
  • Comisiones pendientes.
  • Comisiones canceladas.
  • Transferencias solicitadas.
  • Transferencias aceptadas.
  • Transferencias pendientes.
  • Número de mensajes recibidos.
  • Número de respuestas.
  • Número de mensajes no leídos.
  • Número de seguidores.
  • Grado de satisfacción.

De esta forma, esta página ha quedado reestructurada en 2 columnas. La información del vendedor con la foto, nombre, email, etc. aparece a la izquierda y a la derecha aparece 2 bloques: como pagar al vendedor y las estadísticas como novedad.

Para algunos usuarios el menú superior de la cuenta de vendedor es molesto pero para otros es muy interesante tener todas las opciones a la vista. Hemos tenido mucho debate con esto.

Finalmente, hemos decidido que cada vendedor puede mantener mostrado u ocultado tanto el menú superior como el menú lateral de opciones siempre y cuando estén habilitados por el administrador.

Esta decisión de cada vendedor se guarda en la cookie del mismo para mantener la decisión en el tiempo. En cualquier momento, el vendedor puede abrir o cerrar el menú para cambiar la decisión.

Ahora es posible indicar si el vendedor asume los descuentos o no. En el catálogo, el administrador puede crear descuentos para los pedidos. Estos descuentos pueden descontarse en la comisión o no.

Se agregó el uso de la función Media::addJSDef() para agregar desde los controladores las variables JavaScript que requiere la plantilla.

Para rematar este trabajo, en esta gran actualización se agregaron 12 hooks nuevos.

  • displayMarketplaceFormProductInformation
  • displayMarketplaceFormProductPrices
  • displayMarketplaceFormProductSeo
  • displayMarketplaceFormProductAssociations
  • displayMarketplaceFormProductShipping
  • displayMarketplaceFormProductQuantities
  • displayMarketplaceFormProductCombinations
  • displayMarketplaceFormProductFeatures
  • displayMarketplaceFormProductImages
  • displayMarketplaceFormProductVirtual
  • displayMarketplaceFormProductAttachments
  • actionMarketplaceProductErrors

Se agregaron 11 nuevos ganchos visuales, uno para cada pestaña del formulario que permite añadir y editar producto.

Y, también se agregó un nuevo hook de acción para agregar el control de errores de las nuevas características que se pueden agregar al formulario.

Ver más información

¿Te gustaría formar parte de nuestro equipo de desarrolladores web?