Jump to content

[Bug] Delayed Shipping does not work


Recommended Posts

I couldn't find an English bug forum, so I'll just report this here.

 

I was trying to get the delayed shipping option to work, and I noticed that multishipping was functioning as expected. After a little digging, I found that the orders are split in the getPackageList method in /classes/Cart.php, which will return the order split into separate packages, and create an order for each. When splitting by address, this will function as expected and return an array with an additional element for each address. From what I can understand of the code here, the delayed shipping is also split for separate orders here - each loop deals with in_stock/out_of_stock products, and splits them into separate elements as well. However, this is not working. Any out of stock items that are ordered will still get dumped into the in_stock array.

 

You can reproduce this issue easily by adding a print_r on $package_list before Step 5, and you'll see an array with keys [in_stock] and [out_of_stock]; out of stock will be empty, even if you are ordering products that are clearly not in stock.

 

Am I missing something here?

  • Like 1
Link to comment
Share on other sites

  • 2 years later...

I know this is way late but for anyone else having this issue you need to check a few settings.

 

The first is in Preferences > Orders. Make sure "Delayed shipping" is set to "yes" under General.

 

Then you need to go to Preferences > Products and make sure "Allow ordering of out-of-stock products" is set to "yes" under Product Stock.

 

The final thing needs to be done on the customer side. Once they get to the checkout page there is the option "Send available products first" that needs to be checked.

 

Following the above should get everything working.

Link to comment
Share on other sites

×
×
  • Create New...