Multiplicar por N unidades, cada vez que añades un producto al carrito
En ocasiones necesitamos añadir N unidades de un producto determinado, cada vez que damos a añadir al carrito.

En ocasiones necesitamos que algunos productos se compren por ejemplo de 5 en 5. Creo que la mejor solución y más sencilla es realizar los siguientes paso:
- Lo primero es irnos al Admin/Catálogo/Características y añadimos una nueva característica llamada por ejemplo Multiplo.
- Luego crearemos los valores que necesitemos a la característica creada, por ejemplo 5
- Nos vamos las características del producto que vayamos a utilizar para este menester, asignamos el valor 5 a múltiplo y guardamos
Ahora vamos a modificar product.tpl para mostrar un combo si la característica múltiplo tiene algún valor.
Al inicio de product.tpl buscamos la característica Múltiplo del producto y declaramos la variable múltiplo con su valor.
{foreach from=$features item=feature}
{if $feature.name=='Multiplo'}
{assign var=multiplo value=$feature.value}
{/if}
{/foreach}
Buscamos donde se encuentra el input de la cantidad (id=quantity_wanted) y sustituimos:
<input id="quantity_wanted" class="text" maxlength="3" name="qty" size="2" type="text" value="{if isset($quantityBackup)}{$quantityBackup|intval}{else}1{/if}" />
Por:
{if $multiplo!=''}
<select id="quantity_wanted" name="qty">{section name=foo start=$multiplo loop=100 step=$multiplo} {assign var=box_qty value=$smarty.section.foo.index}
<option selected="selected" value="{$box_qty}">{$box_qty}</option>{$smarty.section.foo.index} {/section}
</select>
{else}
<input id="quantity_wanted" class="text" maxlength="3" name="qty" size="2" type="text" value="{if isset($quantityBackup)}{$quantityBackup|intval}{else}1{/if}" />
{/if}
Con estas líneas conseguimos que solo se muestre el combo con el multiplicador en los productos que tengan la característica definida para ese fin. Y mediante la función section definimos el bucle.
Ah!! y recordar que también puedes modificar el número de productos en los ficheros del tema shopping-cart.tpl y shopping-cart-product-line.tpl, en los enlaces con las clase cart_quantity_up y cart_quantity_down.
Bueno, creo que esta es la mejor opción, si alguien se anima o tiene otra, ya sabe que aquí tiene un espacio…