Hello,
I would like to know how I change the products sort on the email order. I need the products to be in sorted by of category.
Regards,
Marcelo
Hello.
What email are you talking about? Order notification?
You can change products array via you custom extension hook.
Example
public function onModelCheckoutOrder_ProcessData(){
if(func_get_arg(0) != 'sf_order_confirm_mail'){
//prevent multiiple calls
return null;
}
$that = $this->baseObject;
$that->data['mail_template_data']['products'] = array(....); //build your own array here
}
You can find place with hook call in public_html/storefront/model/checkout/order.php line 615
Yes it is the notification email.
As it says in my profile, i'm a newbie!! ;)
Can you help me with the array?
Regards,
Marcelo
marceloaraujo, are you AbanteCart or coding newbie?
You can change product sorting for products in order confirmation email, by changing data select order
On line #358:
https://github.com/abantecart/abantecart-src/blob/master/public_html/storefront/model/checkout/order.php#L358
Change below code for selection to appropriate sorting
$order_product_query = $this->db->query("SELECT *
FROM " . $this->db->table("order_products") . "
WHERE order_id = '" . (int)$order_id . "'");
Something like " order by product_id "
Quote from: abantecart on February 20, 2018, 07:54:23 AM
marceloaraujo, are you AbanteCart or coding newbie?
You can change product sorting for products in order confirmation email, by changing data select order
On line #358:
https://github.com/abantecart/abantecart-src/blob/master/public_html/storefront/model/checkout/order.php#L358
Change below code for selection to appropriate sorting
$order_product_query = $this->db->query("SELECT *
FROM " . $this->db->table("order_products") . "
WHERE order_id = '" . (int)$order_id . "'");
Something like " order by product_id "
If you care about easy future upgrades, I suggest you create an override or hook to this model.