Ir al contenido principal

Drupal Commerce - producto con varios precios


Montando un marketplace con Drupal Commerce, apareció un caso de uso donde el cliente quería agregar a cada producto un precio de envío diferente. Por tanto no valía una Flate Rate u alguna solución clásica de 'shipping', así que pensé que Rules y encontré esta simple solución de Josh Miller:

La idea es agregar un campo 'envío' tipo 'price' al tipo de producto en cuestión, y luego con rules, sumar al precio del producto, el precio del envío.

  1. Crear una nueva regla de cálculo de precio. Ir a admin/commerce/config/product-pricing/rules/add y darle un nombre
  2. Agregamos una primera condición "Entity has field" a la entidad "commerce-line-item" y seleccione el campo "commerce_product". Con este paso se carga el producto para la siguiente inspección.
  3. Segunda condición, cargamos el campo con el precio: "Entity has field" a la entidad "commerce-line-item:commerce-product" y seleccionamos el campo creado previamente en el tipo de producto.
  4. Confirmar que el nuevo campo 'envio' no está vacío. Siempre es buena idea saltar el cálculo si el campo está vacío, por lo cual agregamos una tercera condición: "Data is Empty" y seleccionamos la cantidad (amount) del campo en cuestión. El token debe aparecer similar a "commerce-line-item:commerce-product:field-shipping-price:amount" ... y asegurarse de seleccionar 'NEGATE', pues queremos que los campos NO estén vacíos.
  5. Finalmmente agregar el precio del campo al del producto. Ahora solamente necesitamos agregar una acción llamada "Add an amount to the unit price" dentro de "Line Item". Seleccionamos el campo como mismo hicimos en el paso anterior, similar a "commerce-line-item:commerce-product:field-shipping-price:amount". Finalizamos seleccionando el componente "shipping"
  6. La regla exportada: http://pastebin.com/JmKjNPE4
    Ahora podemos agregar algún precio de envío en nuestros productos y aparecerá durante el checkout. Es interesante que Commerce desglosa el precio total y sabe de dónde viene cada número. Por ejemplo, tenemos un producto que cuesta $50.00 y $10.00 de envío, el total será $60.00, pero durante en la orden aparecerá claramente desglosado los $50.00 del producto, y los $10.00 del envío.
Publicar un comentario

Entradas populares de este blog

Ubercart, atributos o CCK ?

Ubercart (UC) es una gran solución para e-shops. Trabajando sobre el poderoso Drupal lo convierte en una herramienta muy adaptable a muchas situaciones. Recuerdo que cuando empecé a usarlo una de las primeras dudas que me asaltó la cabeza fue decidir que era mejor con UC: campos (fields) de CCK o los atributos (attributes) del propio UC. El uso de atributos y clases para categorizar los productos de la tienda puede resolver en muchas situaciones y está muy bien pensado. Pero como no todo es perfecto acabo de chocar con una de esas situaciones que parece ser la excepción de la regla y donde he tenido que sacrificar los atributos de Ubercart por los conocidos y siempre bienvenidos campos de CCK. La idea inicial era facilitar al vendedor que subiera un solo producto, con su modelo y precio básico, y que luego los clientes pudieran seleccionar los atributos requeridos. La cuestión se complicó porque los cinco (5) atributos asociados a la clase de producto X están muy poblados. Cuando inte…

Raspberry Pi, ¿por dónde empezar?

Dicen que debo darle el mérito a Ježišek, que seguro los que no hayan pasado por Chequia, no entenderán, así que digamos que sería a Papá Noel o Santa Claus que seguro es más familiar. Pero la verdad, gracias a la mejor esposa del mundo es que me ha llegado mi primera Raspberry Pi. Aunque ya había leído un montón (no fue difícil para ella pensar en que regalarme :) ), tener la pequeña en mis manos me hizo revisar de nuevo toda la información y cada detalle para poder explotar el juguete lo mejor posible. Si no tienes una RPi, puedes utilizar esta imagen para emularla con VirtualBox. Ojo! este link no descarga la imagen, sino el torrent con el cual se podrá descargar finalmente la imagen. Ahora mismo estoy descargando la imagen para explorarla en estos días, aunque por los comentarios del foro parece muy buena opción. Una vez se tiene la tarjeta en la mano, aparece la primera pregunta: y ahora, que? Por las recomendaciones de casi todos los blogs y foros, tenía claro que iba a comenza…