Estimados amigos,
Al efectuar la compra de un producto virtual el usuario puede seleccionar la opción de incluir un producto físico, con un coste adicional. Un ejemplo:
Producto A = $65 (Producto virtual, no requiere envío).
Producto A + Producto Opcional = $65 + $20 (Producto físico, requiere envío)
Tenemos el siguiente problema:
Si el usuario decide la compra solo del producto virtual, Virtuemart incluye de todas formas coste de envío. ¿Como podemos evitar incluir costes de envío cuando el producto es virtual y solo incluir costes de envío cuando además del producto virtual el usuario adquiere el producto físico opcional?.
Hemos creado 5 métodos de envío con distintos costes de envío, dependiendo del país de destino.
URL del sitio: Contenido solo visible a usuarios registrados
Hola,
Un truco que podrías utilizar sería realizar el cálculo de los portes de envío en función del peso total de la compra, de forma que tengas un portes que sea 0 cuando el peso del pedido sea 0, y otros portes con un importe mayor que 0 cuando el peso total del pedido también lo sea.
De esta forma, podría poner un precio 0 para los productos virtuales que no requieren envío y un peso mayor que 0 para el resto de los productos. Así, solo se cobrarían portes cuando se compran productos físicos.
Hola Pablo,
Habíamos intentado ya el truco de asignar peso 0 para producto virtual y peso 1 para producto físico. El problema es que el producto físico no es un producto Virtuemart como tal, sino un Custom Field de tipo Cart Variant añadido al producto virtual, con lo cual no podemos asignarle peso.
Por favor, si fueses tan amable, puedes verificar tu mismo el proceso en: Contenido solo visible a usuarios registrados
Disculpas por no utilizar español en la terminología, pero el cliente no es español y requiere inglés en el back-end.
Hola Alvaro
Asumo que estas usando virtuemart 2.0
No es posible realizar lo que te comenta Pablo a través de atributos, sin embargo puedes conservar la misma forma de visual de tener un combo-list de selección y definir subproductos, con los subproductos creados puedes asignar un peso, entre otras cosas, para cada uno.
Revisa el siguiente artículo que explica la creación de subproductos.
También puedes revisar el siguiente artículo que crea subproductos de manera automática en base a atributos :
Saludos.
Hola Jhon,
He creado un Custom Field del tipo Plug-ins / VM - Custom, stockable variants, donde he creado dos valores: "No additional charge" (para el producto virtual) y "Printed Certificate + USB Key-chain (4GB)" (para el producto opcional físico).
Luego he seleccionado el producto padre, y en Custom Fields he incluido ambas opciones, asignado un coste (0 para uno, y 20 para otro) y un stock de 9999 para ambos. Una vez creados los child, he editado el producto "Printed Certificate + USB Key-chain (4GB)" (que es el producto físico opcional y que requiere envío) y le he asignado un peso de 1.
El problema es que en el check-out Virtuemart no detecta que existe un producto con peso 1 y no despliega los costes del envío.
Gracias por la ayuda.
Hola Alvaro,
¿Has revisado que con ese peso de 1 KG, tengas una tarifa de envío que incluya ese valor de peso, y que coincida con el código postal y país del usuario con el que estás realizando la compra?
Saludos
Hola Jordi,
En efecto, así lo hemos realizado. Existen 5 métodos de envío, 4 de ellos para productos con peso 1.0000 que se despliegan según país del comprador (esto funciona perfectamente con el resto de productos con peso 1.0000), y existe un método de envío (coste 0) para productos con peso 0.0000.
El problema está en que, cuando en el producto padre (producto virtual, que pesa 0.0000), seleccionamos la opción "Printed Certificate + USB Key-chain (4GB)" (producto físico, que pesa 1.0000) en el check-out no toma en cuenta este peso y no incluye los portes. Da la sensación de que toma prioridad el peso 0.0000 del producto padre.
De hecho, si al producto virtual le ponemos peso 1.0000 en lugar de 0.0000, sí que aparecen los portes correspondientes.
Saludos.
HOla Alvaro
Verifica si con precios diferentes te toma el peso del hijo en lugar del peso del padre, es decir utiliza un peso diferente de cero para el padre pero que sea menor al precio del hijo.
Deberás posiblemente cambiar tus portes o definir nuevos y verifica si esto funciona.
Saludos.
Hola Jhon,
Por temas de tiempo hemos optado por una solución alternativa, creando productos padre independientes tanto para virtuales como físicos, en lugar de incluir opcionales en desplegable.
Muchas gracias por vuestras ayuda y colaboración. Por favor, podéis cerrar el post.