support

Email products order sorted by category

Started by marceloaraujo, February 17, 2018, 11:05:20 AM

Previous topic - Next topic

marceloaraujo

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

abolabo

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

"No one is useless in this world who lightens the burdens of another."
― Charles Dickens

marceloaraujo

#2
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

abantecart

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 "
Please  rate your experience or leave your review
We need your help to build better free open source ecommerce platform for everyone. See how you can help

abantecart

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.
Please  rate your experience or leave your review
We need your help to build better free open source ecommerce platform for everyone. See how you can help

Forum Rules Code of conduct
AbanteCart.com 2010 -