Inicio / Blog / Multiplicar por N unidades, cada vez que añades un producto al carrito

Multiplicar por N unidades, cada vez que añades un producto al carrito

Luis Ruiz

Escrito por Luis Ruiz el Actualizado el

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…

Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.

Cookies estrictamente necesarias

Las cookies estrictamente necesarias tiene que activarse siempre para que podamos guardar tus preferencias de ajustes de cookies.

Cookies de terceros

Esta web utiliza Google Analytics para recopilar información anónima tal como el número de visitantes del sitio, o las páginas más populares.

Dejar esta cookie activa nos permite mejorar nuestra web.