Jump to content

bug en rango de precios?


Perrotekel

Recommended Posts

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.php
realiza 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

Guest
This topic is now closed to further replies.
×
×
  • Create New...