polu Posted July 10, 2014 Share Posted July 10, 2014 (edited) Hola, Quería saber si alguien me podría ayudar con esto. Llevo algunos días quebrándome la cabeza para intentar conseguir vender uno de mis artículos de prestashop 1.5 de 6 en 6 unidades o en múltiplos de 6. Lo que intento es que este paquete de 6 artículos de la misma referencia, muestre el precio individual pero al comprarlo lo multiplique por 6 para proceder al pago total. Lo he intentado con la opción paquete del producto pero no me vale. ¿Alguien tiene alguna idea o sepa de algún módulo?. Gracias, saludos Edited August 7, 2014 by polu (see edit history) Link to comment Share on other sites More sharing options...
jesa Posted July 11, 2014 Share Posted July 11, 2014 Si no te valen los paquetes...te tocará tocar código. No hace mucho he visto este caso, no recuerdo si fue una solución que daban en el foro. El caso es que lo que hacían era una comprobación a la hora de añadir al carrito para asegurarse que fuera multiplo de 6, en tu caso, y así permitir añadir el producto o no. Link to comment Share on other sites More sharing options...
polu Posted July 14, 2014 Author Share Posted July 14, 2014 Gracias jesa, buscaré por el foro a ver si encuentro ese post. Saludos Link to comment Share on other sites More sharing options...
Javier Barcelona Posted July 15, 2014 Share Posted July 15, 2014 ¿Las combinaciones no te sirven? Estoy acabando una tienda ahora que tiene más o menos el mismo mecanismo y lo he solucionado así. Producto con la leyenda "incluye 6 unidades" y después combinaciones en desplegable con múltiplos de X y sus correspondientes impactos en el precio. Link to comment Share on other sites More sharing options...
polu Posted July 17, 2014 Author Share Posted July 17, 2014 Hola Javier, gracias por contestar. Lo he intentado con las combinaciones como dices, fijo el mínimo de 6 o 12 unidades pero no admite fijar un máximo. Si alguien elige 6, también puede elegir 7 8 9 etc. Creo que esto, la única manera de hacerlo es retocando código. Saludos y gracias. Link to comment Share on other sites More sharing options...
jesa Posted July 17, 2014 Share Posted July 17, 2014 La única solución es que te metas a tocar código. Como te comente en su día, es comprobar que las unidades sean múltiplo de 6. 1 Link to comment Share on other sites More sharing options...
Javier Barcelona Posted July 17, 2014 Share Posted July 17, 2014 Hola Javier, gracias por contestar. Lo he intentado con las combinaciones como dices, fijo el mínimo de 6 o 12 unidades pero no admite fijar un máximo. Si alguien elige 6, también puede elegir 7 8 9 etc. Creo que esto, la única manera de hacerlo es retocando código. Saludos y gracias. Perdona pero estoy espeso y no entiendo o no me explico bien... que será lo segundo. Creo un producto nuevo que por defecto viene en caja con 6 unidades, pongamos que son huevos: Caja Huevos (6u.) > 3.00€ Me voy a combinaciones, creo un nuevo atributo llamado "Cantidad" y dentro de ese atributo creo (por ejemplo) 4 valores nuevos: Cantidad - 6 unidades > Impacto en el precio: 0€ (combinación por defecto, sin impacto en el precio) - 12 unidades > Impacto en el precio: 3.00€ (si elegimos esta el precio se pone en 6.00€) - 18 unidades > Impacto en el precio: 6.00€ (si elegimos esta el precio se pone en 9.00€) - 24 unidades > Impacto en el precio: 9.00€ (si elegimos esta el precio se pone en 12.00€) Si luego eliges más cantidad será siempre múltiplo de 6 no de unidades sueltas ¿no? 1 Link to comment Share on other sites More sharing options...
polu Posted July 20, 2014 Author Share Posted July 20, 2014 Ok! Gracias Javier, lo he hecho como dices, sólo he puesto un valor de 6 unidades con impacto de precio multiplicado x 5 el precio de la unidad y cada paquete que elige el cliente se multiplica x 6, el único inconveniente es que no me sale el precio de una unidad sino, el precio de las 6 unidades pero, de momento me vale. Saludos y gracias. Link to comment Share on other sites More sharing options...
polu Posted July 24, 2014 Author Share Posted July 24, 2014 Hola de nuevo, Llevo unos días dándole vueltas a esto y la verdad es que no me convence. Cuando alguien compra 6 unidades de dicho producto, sólo te descuenta del estocaje un artículo y no 6 artículos. ¿Sabe alguien qué podría hacer para que me descontara 6?. Saludos Link to comment Share on other sites More sharing options...
Javier Barcelona Posted July 25, 2014 Share Posted July 25, 2014 Obviamente si un articulo contiene 6 unidades te descontará el articulo, no las unidades... Link to comment Share on other sites More sharing options...
jesa Posted July 25, 2014 Share Posted July 25, 2014 En ese sentido la solución tampoco sería muy complicada...pones unidades/6 y te saldrá correcto. Si eso no te vale al final te tocará meterte con el código como dije al principio. La solución de las combinaciones está bien, pero tiene el problema que solo podrán comprar las combinaciones que tú crees. Puede que te quedes corto o que generes miles de combinaciones que nunca se van a usar y están sobrecargando la web. Link to comment Share on other sites More sharing options...
polu Posted July 25, 2014 Author Share Posted July 25, 2014 Perdona jesa, ¿Dónde añado unidades/6 para que me descuente las 6 unidades? Link to comment Share on other sites More sharing options...
jesa Posted July 28, 2014 Share Posted July 28, 2014 Yo esta funcionalidad la he visto hecha en alguna tienda, de memoria no te se decir, pero yo te diría que en el ajax-cart.js cuando vas a añadir el producto al carrito hacer antes la comprobación. Seguramente te tocará hacerlo en varios sitios, pero en el ajax-cart.js seguro. Link to comment Share on other sites More sharing options...
polu Posted August 7, 2014 Author Share Posted August 7, 2014 (edited) Bueno...al final, después de indagar por este foro he conseguido lo que quería, es más simple de lo que yo creía, yo lo he probado en la v 1.5.6.2 y me va de perlas: Si nos vamos a /controllers/front/CartController.php y añadimos el código siguiente (más o menos en la línea 237): // collisage par qte min if ((int)$this->id_product_attribute) $minimal_quantity = Attribute::getAttributeMinimalQty($this->id_product_attribute); else $minimal_quantity = $product->minimal_quantity; if ($this->qty % $minimal_quantity != 0) { $this->errors[] = Tools::displayError('Sólo puede agregar este artículo a su cesta con una múltiple cantidad de ').' '.$minimal_quantity; } // fin col par qte min después de las líneas // If no errors, process product addition if (!$this->errors && $mode == 'add') { y antes de las líneas // Add cart if no cart found if (!$this->context->cart->id) Obtendremos la venta de artículos por múltiplos sin problemas, por ej: de 6 en 6 , o múltiplos de 6: 12, 18, 24, etc. No te dejará comprar 7 ni 8 ni 9, sólo de 6 en 6. Para obtener este resultado, a parte de insertar el código de más arriba, habrá que fijar la cantidad mínima al artículo que queramos vender por múltiplos, en este caso sería: Cantidad mínima 6 La única pega que yo le veo a esto es que si quiero ponerle a otro artículo una cantidad mínima de venta de 20 artículos pero no me importe vender 21, no podré hacerlo, sólo me dejará vender ese artículo de 20 en 20 o múltiplos. Si alguien sabe php y sepa retocar el código para que se pueda hacer sin que le afecte a los demás artículos que requieran una cantidad mínima, por favor no dude en hacerlo, así acabaremos con esta pesadilla que a tantos le trae por la calle de la amargura. Creo que esto se podría hacer añadiendo al código alguna variable con alguna condición para que sólo a los artículos que tengan el ID x, le afecte lo de los múltiplos. El hilo original de este código está en: http://www.prestashop.com/forums/topic/228452-resolu-multiple-de-quantite-minimum/?p=1144311&do=findComment&comment=1144311 Saludos y que les sea de utilidad Edited August 7, 2014 by polu (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts