Custom Order Status inc Email To Customer and Stock Correction X-Cart 4.5.x
JULY 10 2014: UPDATED TO LATEST 4.6.2 and above - All functions tested 100%
Like many others I require several different custom order status and would also like the customer to be emailed on change of status, and also the option to put the product back in stock. A perfect example of this is Refunds. After doing some research with regards to older versions I was able to get it working perfectly on my own 4.6.2 (Thanks to Jon & imexhouse in THIS THREAD) and thanks to Thomasb134 in THIS POST) For this example I am going to add a 'Refunded' order status. Of course you can change to whatever you require. I have also hardcoded the Order Status name as opposed to using a label. Open skin/common_files/main/order_status.tpl FIND (Around Line 15): Code:
<option value="I"{if $status eq "I"} selected="selected"{/if}>{$lng.lbl_not_finished}</option> AFTER ADD: Code:
<option value="R"{if $status eq "R"} selected="selected"{/if}>Refunded</option> FIND (Around Line 27): Code:
{if $status eq "I"} AFTER ADD: Code:
{elseif $status eq "R"} Open include/func/func.order.php FIND (Around Line 1666): Code:
$allowed_order_status = 'IQPBDFCA'; CHANGE TO: Code:
$allowed_order_status = 'IRQPBDFCA'; FIND (Around Line 1689): Code:
$send_notification = false; CHANGE TO: Code:
$send_notification = false; Find this: Code:
// Decrease quantity in stock when 'declined' or 'failed' order is became 'completed', 'processed' or 'queued' change to Code:
// Decrease quantity in stock when 'declined' or 'failed' or 'refunded' order is became 'completed', 'processed' or 'queued' FIND: Code:
} elseif ( CHANGE TO: Code:
} elseif ( FIND: Code:
} elseif ( CHANGE TO: Code:
} elseif ( FIND: Code:
} elseif ( Code:
} elseif ( FIND: Code:
if (($status != 'D') && ($status != 'F')) return; CHANGE TO: Code:
if (($status != 'D') && ($status != 'F') && ($status != 'R')) return; Open modules/Advanced_Order_Mangement/func.php FIND (Around Line 391): Code:
'I' => func_get_langvar_by_name('lbl_not_finished'), ADD AFTER: Code:
'R' => func_get_langvar_by_name('Refunded'), Then you need to create the email templates and upload to: skin/common_files/mail/html/order_customer_refunded.tpl skin/common_files/mail/order_refunded.tpl skin/common_files/mail/ Here are some example templates: order_customer_refunded.tpl Code:
{config_load file="$skin_config"} order_refunded.tpl Code:
{config_load file="$skin_config"} order_refunded_subj.tpl Code:
{$config.Company.company_name}: Your order #{$order.orderid} has been refunded I have tested the above working 100% with v4.6.2 - I hope someone finds it as useful as I have :) Greets to Phil @ www.xcartmods.co.uk |
Re: Custom Order Status inc Email To Customer and Stock Correction X-Cart 4.5.x
You are the man! This worked great on the first try.
I wanted to post to shout out to Phil as well. Greets to Phil @ www.xcartmods.co.uk |
Re: Custom Order Status inc Email To Customer and Stock Correction X-Cart 4.5.x
Tested working with 4.6.2 :)
|
Re: Custom Order Status inc Email To Customer and Stock Correction X-Cart 4.5.x
Original post updated for 4.6.2 :)
|
Re: Custom Order Status inc Email To Customer and Stock Correction X-Cart 4.5.x
Original post updated for 4.6.2 :)
|
Re: Custom Order Status inc Email To Customer and Stock Correction X-Cart 4.5.x
Original post updated for 4.6.2 :)
|
Re: Custom Order Status inc Email To Customer and Stock Correction X-Cart 4.5.x
I applied the Custom Status mod (including the inventory fix in post 6) and found inventory updates still did not work correctly. I made some changes and it now works fine in my V4.4.5 store. I'll share what I found in case others run into inventory accuracy issues like me.
I performed all the updates noted in this disussion. However, I had to modify some of the new code used in the /include/func/func.order.php as follows: Find Original Code: Code:
$send_notification = false; Change to: Code:
$send_notification = false; I also had to add some extra code to accommodate some status changes that were missing in the original mod. Find Original Code: Code:
} elseif ( Change to: Code:
} elseif ( Find Original Code: Code:
} elseif ( Change to: Code:
} elseif ( Many thanks to those that did all the hard work! |
Re: Custom Order Status inc Email To Customer and Stock Correction X-Cart 4.5.x
How to bring this order status in order export pack also?
|
Re: Custom Order Status inc Email To Customer and Stock Correction X-Cart 4.5.x
Any idea why this change would make my admin/orders.php page go blank? It goes blank with changes from post #1 and/or the change from post #5. Version 4.6.1 with the reboot skin.
|
Re: Custom Order Status inc Email To Customer and Stock Correction X-Cart 4.5.x
Check your php error logs. The line number that is causing the php problem will probably be noted in the log.
|
All times are GMT -8. The time now is 01:04 PM. |
Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.