cancel
Showing results for 
Search instead for 
Did you mean: 

Shipping error product screen

   Did you know you can see the translated content as per your choice?

Translation is in progress. Please check again after few minutes.

Shipping error product screen

On the product screen I have the freight calculation and I have created free shipping rules, how to adptar the current function for that same check of the rule and I get free shipping freight when it is free shipping?

 

private function getShippingEstimate ( $_product, $postcode, $productQty, $countryId = "BR" ) {

    $quote = Mage::getModel('sales/quote')->setStoreId(1);

    $_product->getStockItem()->setUseConfigManageStock(false);
    $_product->getStockItem()->setManageStock(false);

    $quote->addProduct($_product, $productQty);
    $quote->getShippingAddress()->setCountryId($countryId)->setPostcode($postcode); 
    $quote->getShippingAddress()->setCollectShippingRates(true);
    $quote->getShippingAddress()->collectShippingRates();

    $quote->setCustomerGroupId(0);
    $quote->setCouponCode('');

    $_rates = $quote->getShippingAddress()->getAllShippingRates();

    $shippingRates = array();

    foreach ($_rates as $_rate):
      if ($_rate->getMethodTitle() != "") {
        $quote->getShippingAddress()->setShippingMethod($_rate->getCode())->setCollectShippingRates(false);
        $quote->collectTotals();
        $discount = $quote->getShippingAddress()->getDiscountAmount() * -1;
        $shippingRates[] =  array("title" => $_rate->getMethodTitle(), "price" => ($_rate->getPrice()-$discount));
      }
    endforeach;

    // set postcode in cart quote.
    $this->_setCartPostCode($postcode);

    return $shippingRates;
  }