AbanteCart Community
AbanteCart Development => Customization help => Topic started by: marceloaraujo on February 17, 2018, 11:05:20 AM
-
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 "
-
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.