Jump to content

LIMITAR VENTA A LA CANTIDAD MÍNIMA Y MULTIPLOS DE LA MISMA PS 1.6


avpinedo

Recommended Posts

Buenas, a ver si alguien me puede ayudar por que me estoy volviendo loco.

 

Resulta que estoy montando una tienda con multitud de unidades de envase y necesito lo siguiente, por ejemplo.

 

 

De un articulo, pongamos por ejemplo un tornillo, lo vendo en bolsitas de 100.

 

Tengo claro como poner la cantidad mínima en la ficha de producto, pero a la hora de comprar me sale por defecto esta cantidad (que esta bien), pero si le pongo 101 me deja continuar.

 

Se me ocurren varias opciones, pero la mas sencilla que he probado y que con una pequeña adaptación me serviría es la siguiente:

 

Añadiendo este código en el OrderController.php

 


$nbOfProducts=$this->context->cart->getNbProducts($this->context->cart->id);
  $mult_items=100;
  if(($nbOfProducts % $mult_items) != 0){
    $this->step = 0;
    $this->errors[] =sprintf(Tools::displayError(' Solo multiplos de "%s" estan permitidos'), $mult_items);
  }
 

He logrado que si pongo algo que no sea múltiplo de 100 me de error:

 

d8ku.jpg

 

Pero mi pregunta es la siguiente, donde he puesto la limitación de 100 en el código, puedo poner que esa limitación sea una variable en función de la cantidad mínima de cada producto???

Porque dependiendo de la referencia la cantidad mínima será una diferente.

 

Muchas gracias si alguien puede ayudarme estaría muy agradecido, chao

 

Link to comment
Share on other sites

Has contemplado la posibilidad de que tus productos sean en este caso bolsas de tornillos y no tornillos sueltos? No se si esto es factible para tus necesidades, pero te evitarías todo este tipo de problemas. En la descripción del producto pones que la bolsa contiene X unidades y listo. 

Link to comment
Share on other sites

Si que la he contemplado, pero ya tengo todo en catalogo metido con precios por unidades, cantidad mínima, descripciones, etc. y manejo cerca de 2000 referencias, ufff, seria una currada, preferiría darla la solución que estoy a punto de lograr, evidentemente no estoy cerrado a ninguna alternativa...

Link to comment
Share on other sites

Espero no pasarme de listo con lo que te voy a decir...jeje

 

Prueba a introducir dos productos en el carrito y por ejemplo a uno le pones 101 unidades y al otro 99. Me cuentas a ver si te funciona. 

Link to comment
Share on other sites

Si hago lo que me dices no me deja continuar y da error, esta bien que sea así, el problema es que no solo tengo la unidad de envase de 100, tengo otros productos que van de 12 en 12, de 30 en 30, y necesito que esta limitación vaya asociada a la cantidad mínima que he definido en ficha del producto, a alguien se ocurre algo????

 

Muchas gracias

Link to comment
Share on other sites

No se que error te dará, supongo que tendrás algo mas que está mal. El ejemplo que te ponía era porque viendo el código que pusiste, me da la sensación que cuando combines productos no te va a funcionar.

 

Cuando haces el calculo para ver si es múltiplo de 100, estás pillando el número de unidades totales que hay en un pedido y no de un producto concreto. De esa manera si pones dos productos y entre los dos suman 100 te lo validará bien pero no es lo que quieres porque a lo mejor estás buscando que sean 100 de cada uno o 100u y 50u de otro...

Link to comment
Share on other sites

Tienes razón, jejeje, lo he probado y lo valida bien si un producto lo pongo con 99 y otro con 101, como la suma total son 200 lo valida.

Por lo que esto no me sirve, esta validación debería ser por producto, y en base a la cantidad mínima definida, a alguien se le ocurre que código podemos emplear para hacer posible esto?, 

 

Muchas gracias por la ayuda, a ver si logramos dar con la solución

Link to comment
Share on other sites

Y si en lugar de poner precio unitario poner el precio de 1 bolsita de 100?

POR EJ.

En lugar de poner como título:

1 tornillo(..) a 0,01€ (minimo 100 y multiplos)

poner

Bolsita 100 Tornillos  (..) a 1€

 

Es la primera solución que le dí, pero ya tiene creado el catálogo y no quiere modificarlo...

 

Al final depende del planteamiento de cada uno. Yo creo que modificaría los productos para que sean bolsas y no unidades, pero cada uno tiene su criterio. 

Link to comment
Share on other sites

  • 4 weeks later...

No se si ya has conseguido solucionar el problema, ahora estoy con el desarrollo de una web y me planteo el mismo dilema. Hace tiempo leí que eso se puede intentar conseguir con un atributo del producto que sea la cantidad por la que se debe multiplicar, así cada producto tiene un multiplicador variable que hay que meter a mano.

Link to comment
Share on other sites

Lo que no entiendo, perdón que igual soy muy corto, es para qué das de alta un producto por unidades si luego va en bolsas de 100.

 

Mi lógica burrera y cuadriculada dice que creo un producto que es una bolsa de 100 tornillos y luego creo combinaciones que aumentan la cantidad en múltiplos de 100 hasta donde tú quieras llegar.

 

Muchos clientes se enfadan conmigo cuando le doy 20 vueltas a los productos, a como se van a presentar y cómo se tienen que vender... dedico demasiado tiempo a ello, lo se, pero creo que es lo verdaderamente importante de la tienda, a lo que más tiempo se tiene que dedicar, sobre todo si son muchas referencias.

 

Sentarse con papel y bolígrafo antes de comenzar a subir productos es FUNDAMENTAL. Y dedicarle todo el tiempo que sea necesario a la estructuración de los mismos también.

 

En tu lugar me tomaría el tiempo necesario en corregir eso ¿es un coñazo? sí, sin duda, pero en un futuro lo agradecerás.

Link to comment
Share on other sites

  • nadie locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...