Balicus Posted April 21, 2022 Share Posted April 21, 2022 Hello, Today i created new status for orders "picked up" but presta shiping email with title [XYZ.PL] Picked Up. Is possible diffrent email tittle than status name ? Where i can change it. PS 1.7.7.2 Thanks for any soluton. Link to comment Share on other sites More sharing options...
Knowband Plugins Posted April 22, 2022 Share Posted April 22, 2022 Let suppose you want to add order id you can do it the following way: You can just override the OrderHistory.php and put it in "override\classes\order\" and you can see it bellow: In the Mail::Send function you can just append whatever you want to or if you want to remove the order status name just remove the $topic variable with the text you want. You can do the same for the orderConfirmation also for doing the same you can override classes\PaymentModule.php ValidateOrder function and search for Mail::Send and then just replace the $this->context->getTranslator()->trans( 'Order confirmation', [], 'Emails.Subject', $orderLanguage->locale ) with the one you want class OrderHistory extends OrderHistoryCore { public function sendEmail($order, $template_vars = false) { $result = Db::getInstance()->getRow(' SELECT osl.`template`, c.`lastname`, c.`firstname`, osl.`name` AS osname, c.`email`, os.`module_name`, os.`id_order_state`, os.`pdf_invoice`, os.`pdf_delivery` FROM `'._DB_PREFIX_.'order_history` oh LEFT JOIN `'._DB_PREFIX_.'orders` o ON oh.`id_order` = o.`id_order` LEFT JOIN `'._DB_PREFIX_.'customer` c ON o.`id_customer` = c.`id_customer` LEFT JOIN `'._DB_PREFIX_.'order_state` os ON oh.`id_order_state` = os.`id_order_state` LEFT JOIN `'._DB_PREFIX_.'order_state_lang` osl ON (os.`id_order_state` = osl.`id_order_state` AND osl.`id_lang` = o.`id_lang`) WHERE oh.`id_order_history` = '.(int)$this->id.' AND os.`send_email` = 1'); if (isset($result['template']) && Validate::isEmail($result['email'])) { ShopUrl::cacheMainDomainForShop($order->id_shop); $topic = $result['osname']; $data = array( '{lastname}' => $result['lastname'], '{firstname}' => $result['firstname'], '{id_order}' => (int)$this->id_order, '{order_name}' => $order->getUniqReference() ); if ($result['module_name']) { $module = Module::getInstanceByName($result['module_name']); if (Validate::isLoadedObject($module) && isset($module->extra_mail_vars) && is_array($module->extra_mail_vars)) { $data = array_merge($data, $module->extra_mail_vars); } } if ($template_vars) { $data = array_merge($data, $template_vars); } $data['{total_paid}'] = Tools::displayPrice((float)$order->total_paid, new Currency((int)$order->id_currency), false); if (Validate::isLoadedObject($order)) { // Attach invoice and / or delivery-slip if they exists and status is set to attach them if (($result['pdf_invoice'] || $result['pdf_delivery'])) { $context = Context::getContext(); $invoice = $order->getInvoicesCollection(); $file_attachement = array(); if ($result['pdf_invoice'] && (int)Configuration::get('PS_INVOICE') && $order->invoice_number) { Hook::exec('actionPDFInvoiceRender', array('order_invoice_list' => $invoice)); $pdf = new PDF($invoice, PDF::TEMPLATE_INVOICE, $context->smarty); $file_attachement['invoice']['content'] = $pdf->render(false); $file_attachement['invoice']['name'] = Configuration::get('PS_INVOICE_PREFIX', (int)$order->id_lang, null, $order->id_shop).sprintf('%06d', $order->invoice_number).'.pdf'; $file_attachement['invoice']['mime'] = 'application/pdf'; } if ($result['pdf_delivery'] && $order->delivery_number) { $pdf = new PDF($invoice, PDF::TEMPLATE_DELIVERY_SLIP, $context->smarty); $file_attachement['delivery']['content'] = $pdf->render(false); $file_attachement['delivery']['name'] = Configuration::get('PS_DELIVERY_PREFIX', Context::getContext()->language->id, null, $order->id_shop).sprintf('%06d', $order->delivery_number).'.pdf'; $file_attachement['delivery']['mime'] = 'application/pdf'; } } else { $file_attachement = null; } if (!Mail::Send((int)$order->id_lang, $result['template'], $topic.' ID: #'.(int)$this->id_order, $data, $result['email'], $result['firstname'].' '.$result['lastname'], null, null, $file_attachement, null, _PS_MAIL_DIR_, false, (int)$order->id_shop)) { return false; } } ShopUrl::resetMainDomainCache(); } return true; } } Link to comment Share on other sites More sharing options...
Stefo27 Posted December 14, 2022 Share Posted December 14, 2022 How can i add order reference to the Order Confirmation email subject? Let's say I want to add "Ord. #: order reference" to the normal subject If I understood well I have to change the file /classes/PaymentModule.php and change the part: Mail::Send( (int) $order->id_lang, 'order_conf', $this->context->getTranslator()->trans( 'Order confirmation', [], 'Emails.Subject', $orderLanguage->locale ), and replace it with? Link to comment Share on other sites More sharing options...
Stefo27 Posted December 16, 2022 Share Posted December 16, 2022 I think I found a solution, see: Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now