Jump to content

[Módulo gratis] Auto-actualizar combinación por defecto de productos sin stock


Recommended Posts

Para qué sirve este módulo

Si tienes en tu tienda productos variables, habrás observado que cuando la combinación que tienes marcada como combinación por defecto se queda sin stock, si un cliente accede al producto sigue cargando la misma combinación (agotada) y le aparece un mensaje de "Agotado - producto disponible con otras opciones", o similar. Hay clientes que no se dan cuenta de que el producto sigue disponible en otras variaciones y no lo añaden al carrito debido a eso.

Este módulo lo que  hace es, cuando la combinación por defecto se queda sin stock, cambiar automática a otra, según el criterio que se establezca, de modo que al entrar el producto siempre muestre una combinación con stock disponible (a menos que, evidentemente, estén todas agotadas).

Como criterio se puede establecer: cambiar a la combinación con precio más bajo, precio más alto, stock más bajo o stock más alto.

Requerimientos y limitaciones

Para que el módulo funcione se necesita:

  • Una versión de Prestashop 1.7.x.
  • Tener productos variables (con combinaciones) en la tienda.
  • Tener activada la administración de stock.

El módulo revisa las combinaciones cuando hay un cambio de stock en la combinación por defecto de un producto. Esto se puede producir tanto cuando se produce una venta en el front-end como cuando se modifica un producto desde el back-end. Sin embargo, al modificarse un producto desde el panel de administración también se está estableciendo la combinación por defecto del mismo, así que en ese caso no funcionará (en realidad sí que funciona, pero luego las opciones establecidas en el panel de administración de productos sobreescriben los cambios hechos por el módulo).

Descarga de responsabilidades

El módulo es libre y gratuito. No contiene ningún tipo de publicidad, malware, puerta trasera ni hace nada más que lo que se anuncia. El código está sin ofuscar, minimificar, ni nada que dificulte su revisión si se desea.

Tampoco me hago responsable si da algún error, no funciona en alguna instalación concreta, interfiere con algún otro módulo o no realiza correctamente su función. Está probado en varias instalaciones y no ha dado ningún problema, pero no puedo asegurar que vaya a funcionar en absolutamente todos los casos. No obstante, si detectas algún problema y lo comentas aquí, intentaremos solucionarlo.

IMPORTANTE: El módulo usa un hook que se ejecuta justo al finalizar la compra, así que después de activarlo deberías realizar una compra de pruebas en tu tienda para asegurarte de que no da ningún error que pueda evitar completar los pedidos.

Instalación y configuración

Para instalarlo, igual que cualquier otro módulo, se puede hacer desde el gestor de módulos (Módulos -> Module Manager), usando el botón "subir un módulo". Una vez instalado, solo hay que buscarlo en la lista de módulos y pulsar el botón de "configurar":

image.png.b5a828493d8e94e922a14c3fbe870e98.png

En la pantalla de configuración hay dos opciones: una para activarlo y otra para elegir el criterio a aplicar para el cambio de la combinación por defecto cuando la principal se quede sin stock.

Versión 1.0.0:

ftm_autoupdatecombination.zip

  • Like 5
Link to comment
Share on other sites

  • 2 months later...
En 22/10/2020 a las 12:17 PM, Angel Hidalgos dijo:

Es sencillamente genial¡¡

¿Se podría crear una tarea cron que realizase ese cambio cada cierto tiempo?... en nuestro caso no acaba de funcionar bien ya que el stock viene dado por nuestro ERP (Microsoft Dynamic AX).

Gracias @Prestafan

Probado en 1.7.6.8 funciona perfecto.

En este caso el módulo solo funciona una vez realizada la compra (algo que tiene su lógica), para que siempre tengas seleccionado una combinación con stock puedes cambiar en:

buscas classes/Product.php

sobre la linea 823   

public static function getDefaultAttribute($id_product, $minimum_quantity = 0, $reset = false)

y la cambias por:

public static function getDefaultAttribute($id_product, $minimum_quantity = 1, $reset = false)

Puedes hacer un override para que no pierdas los cambios al actualizarse...

Con esto conseguirás que al entrar en la ficha del producto automáticamente se quede seleccionada la primera opción que lleve stock (ojo, esto no cambia la configuración por defecto, solo fuerza que se quede seleccionada una opción disponible), pero en combinación con el modulo conseguirás algo parecido

Edited by residentbea (see edit history)
Link to comment
Share on other sites

  • 1 month later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...