2012-07-19 9 views
11

Estoy codificando un CMS de comercio personalizado en PHP.
He estado integrando la API UPS XML para obtener tarifas de envío y actualmente lo tengo funcionando. Estoy usando PHP clase de Mark Sandborn http://code.google.com/p/ups-php/Determinación de las dimensiones del paquete para UPS Shipping Rate API

La API requiere una entrada de Longitud del paquete final, Anchura, Altura y peso. La base de datos de mi producto tiene esta información para cada producto respectivo, por lo que no hay problema cuando alguien compra solo un artículo. Una historia un tanto diferente cuando se agregan varios productos al carrito ... El paquete de final peso sigue siendo fácil ya que solo puedo tomar la suma de todos los pesos del producto .

Sin embargo, ¿cuáles son las mejores prácticas para estimar la longitud, el ancho y la altura del paquete final para pasar a UPS cuando hay varios productos en el carrito?

Enmienda
Me parece que cualquier desarrollador que trabaja con la API de UPS en un ambiente de la tienda tiene que hacer frente a este mismo problema. Más que una solución al problema de la mochila, espero no entender algo sobre cómo funciona la API y que en realidad hay una manera simple de manejar esto o incluso una forma de entregar esto a UPS para que lo calcule.

+0

Posible duplicado: http://stackoverflow.com/questions/7648859/given-a-set-of-objects-how-to-calculate-how-many-fit-in-a-given-volume ¿Tiene usted ¿Tamaños de caja específicos en los que estás tratando de encajar todo? Eso ciertamente afectaría el resultado de este algoritmo. –

+0

Hmm dado que este será un CMS utilizado en muchas tiendas diferentes, no tengo información sobre tamaños de cajas específicas. Creo que otros CMS como X-Cart, Magento, Zen Cart, etc. también usan UPS API para calcular el envío, así que esperaba que hubiera un enfoque común para manejar este problema. – filip

+0

He encontrado esto: no estoy seguro si funciona exactamente para lo que necesita: https://github.com/yetzt/boxing –

Respuesta

3

Básicamente, está tratando de encontrar el mismo software que utiliza la empresa cuando diseña formas 2D. Primero obtienen una superficie de material plano, y luego, con los objetos que desean obtener, optimizan la disposición para que no se desperdicie material.

Esta no es una tarea fácil; Diría que es una gran tarea, incluso considerando que todos tus objetos son cajas perfectas.

También creo que podrías escribir un libro entero sobre esto como lo han hecho algunas personas. Si todavía está dispuesto a hacerlo automáticamente en lugar de intentarlo manualmente, lea this artículo de Wikipedia.

Y here hay una conversación del foro antigua pero útil sobre PHP. También sugieren que probar y ver es óptimo, y creo que es tu mejor opción.

Cuestiones relacionadas