3

I have an issue with orders, to be specific with shipping method description.

I've noticed that sometimes shipping description in 'Shipping and Handling Information' tab appends as: 'No shipping information available'.

It doesn't happen in all orders, and I haven't found any pattern yet.

I've tried to track down where the problem is, but all I've found is that some orders have an empty shipping_description column in 'sales_flat_quote_address' table, whereas shipping_method column is always correct.

I've tried to find getShippingDescription() or setShippingMethod() methods implementation, but I got lost and it did not result in anything.

I'm using SolvingMagento OneStepCheckout module.

In: app/code/local/Solvingmagento/OneStepCheckout/controllers/OnestepController.php in submitOrderAction() method:

$results[] = $this->saveShippingMethodData($shippingMethod, false);

Then we have:

protected function saveShippingMethodData($shippingMethod, $response = true)
{
    $result = $this->getOnestep()->saveShippingMethod($shippingMethod);

    if (isset($result['error'])) {
        if ($response) {
            $this->getResponse()->setBody(Mage::helper('core')->jsonEncode($result));
            return false;
        }
    }
    $this->getOnestep()->getQuote()->getShippingAddress()->setCollectShippingRates(true);

    return $result;
}

then in app/code/core/Mage/Checkout/Model/Type/Onepage.php we have:

    public function saveShippingMethod($shippingMethod)
{
    if (empty($shippingMethod)) {
        return array('error' => -1, 'message' => Mage::helper('checkout')->__('Invalid shipping method.'));
    }
    $rate = $this->getQuote()->getShippingAddress()->getShippingRateByCode($shippingMethod);
    if (!$rate) {
        return array('error' => -1, 'message' => Mage::helper('checkout')->__('Invalid shipping method.'));
    }
    $this->getQuote()->getShippingAddress()
        ->setShippingMethod($shippingMethod);

    $this->getCheckout()
        ->setStepData('shipping_method', 'complete', true)
        ->setStepData('payment', 'allow', true);

    return array();
}

And now I have no clue where it is going, I can not find any saveShippingMethod() implementation.

Could anyone help me to get back on tracks with solving this issue? What could be wrong or where should I be looking?

I'd appreciate any help.

Possible fix:

I belive the problem was caused by my own modification of OneStepCheckout module. I tried to load each sections (billing info, shipping, payment etc.) automatically (without the need to click on anything) and that seemed to be the problem. Sometimes new record in sales_flat_quote_address just did not appear, so I've added the following line into my js file:

shippingMethod.getStepUpdate.bindAsEventListener(this, false);

That line forces the script to create a new row filled with default data. And now it works fine.

Take that in mind, my solution might be diffrent than yours, as it was caused by me and not faulty module.

I'd advice you to take a closer look at _sales_flat_quote_address (especially shipping_method and shipping_description column), becouse I belive it is connected to this problem.

  • I'm having the same problem, did you ever figure this out? – BrianVPS Dec 22 '16 at 19:12
  • Same problem i am facing,any fix ? – Rahul Singh Dec 29 '16 at 12:48
  • Possible solution above. – br33f Jan 2 '17 at 10:11
  • I am using onepage checkout and also done few modification in checkout module,when i check the console during the checkout progress, the request http://.../checkout/onepage/saveShippingMethod/ Post parameter for shipping_method is showing correct. what u think the cause of problem here ? b'z for few orders this problem coming thanks – Rahul Singh Jan 3 '17 at 4:50
  • @RahulSingh As I said, look at #_sales_flat_quote_address table. Check if shipping_method and shipping_description column is filled correctly and at what moment during checkout process new rows are being created. – br33f Jan 3 '17 at 16:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.