Perrotekel Posted December 13, 2009 Share Posted December 13, 2009 Hola, estaba mirando unas cosas para los envios con rangos de precios y no me funcionaba de ninguna manera y he visto dos cosas que no me han gustado.En Carrier.php static public function checkDeliveryPriceByPrice($id_carrier, $orderTotal, $id_zone) { $result = Db::getInstance()->getRow(' SELECT d.`price` FROM `'._DB_PREFIX_.'delivery` d LEFT JOIN `'._DB_PREFIX_.'range_price` r ON d.`id_range_price` = r.`id_range_price` WHERE d.`id_zone` = '.intval($id_zone).' AND '.floatval($orderTotal).' <= r.`delimiter2` AND d.`id_carrier` = '.intval($id_carrier).' ORDER BY r.`delimiter1` ASC'); if (!isset($result['price'])) return false; return true; } Hay esta funcion, y el join lo hace por id_range_price, pero no deberia ser por id_carrier?? Luego por otra parte cuando verifica los proveedores de envio para seleccionar uno, en order.phprealiza esta condicion if ((Configuration::get('PS_SHIPPING_METHOD') AND (!Carrier::checkDeliveryPriceByWeight($row['id_carrier'], $cart->getTotalWeight(), $id_zone))) OR (!Configuration::get('PS_SHIPPING_METHOD') AND (!Carrier::checkDeliveryPriceByPrice($row['id_carrier'], $cart->getOrderTotal(true, 4), $id_zone)))) Creo que esto OR (!Configuration::get('PS_SHIPPING_METHOD') deberia ser asi OR (Configuration::get('PS_SHIPPING_METHOD') por que si no no me funciona bien. Y ya por ultimo una cosa que vi en su dia, al verificar el precio, en la funcion de arriba solo mira un delimitar y creo que deberia consultar los dos.Que opinais? Link to comment Share on other sites More sharing options...
shacker Posted December 19, 2009 Share Posted December 19, 2009 Reportalo en la seccion de bugs para que lo revisen.GRacias Link to comment Share on other sites More sharing options...
Recommended Posts