J. R. Leon Somovilla Posted June 30, 2010 Share Posted June 30, 2010 Los productos que vendemos en la tienda, van en paquetes de 1000, 1500, 2000, 2500...¿conoceis algún modulo que quite la opción de ir de 1 en 1 producto, y despliegue un combo para elegir entre varios parametros. La idea que cada producto tenga una serie de valores, asi que la cosa se complica...Un saludete, y muchas gracias de antemano... Link to comment Share on other sites More sharing options...
DDelgado Posted July 1, 2010 Share Posted July 1, 2010 Mira este hilohttp://www.prestashop.com/forums/viewthread/32111/#249752Luego, en el fichero product.tpl de tu tema cambia la línea 261 <input type="text" name="qty" id="quantity_wanted" class="text" value="{if isset($quantityBackup)}{$quantityBackup|intval}{else}{$product->multiplier|intval}{/if}" size="2" maxlength="3" onupdate="this.value=setQuantity(this.value,'{l s='Minimum Qunatity and Increase there of Required'}')"/> por {if $product->multiplier > 1} {section name=box start=1 loop=10 step=1} {math equation="x * y" x=$smarty.section.box.index y=$product->multiplier assign=box_qty} {$box_qty} {/section} {else} <input type="text" name="qty" id="quantity_wanted" class="text" value="{if isset($quantityBackup)}{$quantityBackup|intval}{else}1{/if}" size="2" maxlength="3" /> {/if} Recuerda hacer copias de seguridad de los ficheros y BBDD que vas a tocar por si no sale el resultado que esperas poder echar atrás los cambios.Un saludo Link to comment Share on other sites More sharing options...
J. R. Leon Somovilla Posted July 1, 2010 Author Share Posted July 1, 2010 Muchísimas gracias!. Que gozada, estaba justo con este tema haciendo trastadas ;-), asi que al dedillo ha llegado tu post...Un abrazo pues, Link to comment Share on other sites More sharing options...
J. R. Leon Somovilla Posted July 1, 2010 Author Share Posted July 1, 2010 Me he pegado la mañana con ello, y no ha habido forma...En mi caso, casi por cada artículo, las combinaciones de cantidad serán distintas, y si pongo cantidad como atributo, pues encima de engorroso, se disparan el número de combinaciones, y se desploma el chiringuito...Asi que nada, a ver si al final doy antes con ello, que "ello" conmigo... ainsss.. Link to comment Share on other sites More sharing options...
DDelgado Posted July 2, 2010 Share Posted July 2, 2010 Hola José Ramón, ¿has leido el hilo al que te enlazo?, la cantidad mínima no es un atributo de combinación, sino que se modifica la estructura de la BBDD para agregar un campo que contenga dicho valor, de forma que es liviano en cuanto a rendimiento y no queda nada engorroso, si sigues los pasos del otro hilo conseguirás en menos de diez minutos tener activado una compra mínima y por paquetes de x para cada artículo (por defecto 1), después le modificas lo que yo he agregado que es para que cuando dicho valor sea distinto de 1 aparezca el desplegable en vez de que el usuario elija de forma libre la cantidad.Recuerda hacer copias de seguridad antes de modificar.Un saludo Link to comment Share on other sites More sharing options...
J. R. Leon Somovilla Posted July 2, 2010 Author Share Posted July 2, 2010 Oye, que ya lo tengo funcionando... Muchísimas gracias ;-).La historia es que ayer improvisé sobre la tienda (casi...) en producción, pero con miedo a liar alguna, y hoy he probado sobre un prestashop en blanco..., con los ficheros del hilo, y ha funcionado a la primera.Para lo que necesito ya he hecho una adaptación al código tuyo:{if $product->id_category_default == 1} {section name=box start=1 loop=100 step=1} {math equation="x * y" x=$smarty.section.box.index y=$product->multiplier assign=box_qty}{$box_qty} {/section}{elseif $product->id_category_default == 3} {section name=box start=1 loop=10 step=2} {math equation="x * y" x=$smarty.section.box.index y=$product->multiplier assign=box_qty}{$box_qty} {/section}{/if} Asi hago un loop diferente por cada categoría..., claro que mas que loop, a mi me interesa, que aparezcan los parámetros para cantidad, en función de un array, que de normal haría con un for:var cantidadesCategoria1:Array = new Array (1000, 2000, 3000, ....., 15000, 20000, 50000, 70000, 90000);var cantidadesCategoria2:Array = new Array (50, 100, 150, ....., 200, 250, 300, 350, 400, 450,....);for (var i:Number = 0;i++;i {math equation="x * y" x=$smarty.section.box.index y=$product->multiplier assign=box_qty}{$box_qty}}for (var j:Number = 0;j++;j {math equation="x * y" x=$smarty.section.box.index y=$product->multiplier assign=box_qty}{$box_qty}}El problema, es que no tengo ni idea de como haría esto en un tpl... De momento ya me he bajado un manual del smarty, asi que ya estoy en segunda base gracias a vos ;-).Un saludo, y mil gracias una vez más, por tu ayuda. Link to comment Share on other sites More sharing options...
DDelgado Posted July 2, 2010 Share Posted July 2, 2010 Échale un vistazo a http://www.smarty.net/manual/es/language.function.foreach.php y a http://www.smarty.net/manual/es/language.function.section.php, seguro que te sacan de algún apuro.Según veo en el código que has puesto la cantidad la reflejas según categoría, no según producto, dedicándole algo de tiempo se podría colocar el pedido mínimo a nivel de categoría heredándolo el producto, de forma que una categoría se vende por defecto en lotes de una cantidad y un producto en concreto (aunque pertenezca a esa categoría) se puede vender a otra, pero eso ya es para otro hilo Link to comment Share on other sites More sharing options...
cynthiap Posted December 21, 2011 Share Posted December 21, 2011 EstimadoS soy diseñadora y estoy iniciandome en Presta, estoy trabajando en la version 1.4.5.1, necesito ayuda para lograr lo siguiente: Añadir en "N unidades" por producto (por ej cantidad minima 2, luego cada vez que de +(añadir) o - (quitar) que vaya de 2 en 2), porque los productos vienen en packs de 2, 3 y mas, todos diferentes (cuando realizo el pedido, ademas de poder hacerlo en el carrito) que no se pueda vender en otras cantidades. Es eso posible? MUCHISIMAS GRACIAS!!!! Link to comment Share on other sites More sharing options...
aleoudie Posted January 16, 2012 Share Posted January 16, 2012 Buenas! Estoy con el mismo problema... lo del signo más y menos sería perfecto..., aunque me conformaría con que me saliera un combo box con multiplos de las unidades. Es decir, que si el producto se vende en packs de 3. Un combo con 3,6,9,12,15,18..... Intento hacer lo que hace Jose Ramón pero, al modificar product.tpl de la carpeta "Themes"->"Prestashop", no veo que me haga ningun cambio en la web... Yo también estoy en la version 1.4.5, y no es en la misma linia de código (261) que se dice aquí en el foro. Con la nueva versión quizá no vaya..... Espero que me podais ayudar!!! Muchas gracias! Link to comment Share on other sites More sharing options...
aleoudie Posted January 18, 2012 Share Posted January 18, 2012 Weeeeis! Yo continuo con mi batalla con los combobox... No entiendo como es el codigo del combobox en prestashop, el {section name=box start=1 loop=10 step=1} {math equation="x * y" x=$smarty.section.box.index y=$product->multiplier assign=box_qty} {$box_qty} {/section} , no se como programarlo, y para que me lo guarde en el campo correcto. No hay manera. De momento he encontrado la manera de hacer una chapuzilla, pero que visualmente, queda claro que se está haciendo algo mal. Como podeis ver abajo en la imagen. He retocado la plantilla de idioma para cambiar el texto en pantalla, para indicar que hay que poner multiplos. Y luego en el javascript js->productos.js. He cambiado function checkMinimalQuantity(minimal_quantity) { if ($('#quantity_wanted').val() % minimal_quantity) { $('#quantity_wanted').css('border', '4px solid red'); $('#minimal_quantity_wanted_p').css('color', 'red'); } else { $('#quantity_wanted').css('border', '1px solid #BDC2C9'); $('#minimal_quantity_wanted_p').css('color', '#374853'); } } Básicamente, he cambiado el signo < que había antes, por un %. para que mire si lo pedido y los sets son multiplos. En el recuadrito de la izquierda veis lo que se puede ver si el número introducido es válido, si no pues lo de la derecha... El problema es que si introducen una cantidad más grande que el número mínimo, el sistema deja, por muy rojitas que salgan las letras en pantalla. La verdad es que con esta modificación rápida hecha en un minuto, he conseguido salir un poco del paso. Como funcionamos a pago a posteriori, siempre podemos llamar al cliente y explicárselo si ha hecho algo mal. Pero la verdad es que me gustaría encontrar una solución que fuera "apañá" y no esta chapuzilla que he hecho... Malditos combobox!!!! (y digo malditos, para que el admin no me eche del foro...) Engaaaa! Hasta pronto!!! Aleoudie Link to comment Share on other sites More sharing options...
pacodos Posted August 27, 2012 Share Posted August 27, 2012 (edited) Hola Tengo una tienda Prestashop donde vendo material eléctrico Me ocurre que por ejemplo cuando compro cable eléctrico viene empaquetado de fábrica en rollos de 200 mts. El precio que le de poner a la tienda es el precio de 1mts de cable. Necesito ponerlo así porque los electricistas quieren saber lo que les cuesta 1 mts de cable para compararte con la competencia y no les interesa saber lo que les cuesta .un rollo de 200 mts. Necesito saber si es posible que la tienda haga lo siguiente: Cuando el cliente pulse sobre el producto en el momento de hacer el pedido , la celda udes se debe de rellenar automáticamente con la cantidad 200 uds ya que este producto se sirve de 200 en 200 udes. He visto una tienda que lo hace ( no es prestashop). Aquí teneis un pantallazo de donde se detalla el producto y se indicacan que el producto está “Disponible en rollos de 200 mts” Edited August 27, 2012 by pacodos (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts