{"id":5850,"date":"2022-10-28T07:16:00","date_gmt":"2022-10-28T07:16:00","guid":{"rendered":"https:\/\/meetanshi.com\/blog\/?p=5850"},"modified":"2025-01-16T04:21:06","modified_gmt":"2025-01-16T04:21:06","slug":"override-order-new-html-email-template-in-custom-module-in-magento-2","status":"publish","type":"post","link":"https:\/\/meetanshi.com\/blog\/override-order-new-html-email-template-in-custom-module-in-magento-2\/","title":{"rendered":"How to Override order_new.html Email Template in Custom Module in Magento 2"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Hey Magento devs,<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Are you looking for a way to tweak the new order email template in a custom module in Magento 2? In this post, I will guide you to <em><strong>override order_new.html email template in custom module in Magento 2<\/strong><\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a title=\"Magento Commerce\" href=\"https:\/\/business.adobe.com\/products\/magento\/magento-commerce.html\" target=\"_blank\" rel=\"noopener\">Magento 2<\/a> offers built-in functionality to the admin to change or <a title=\"Customize Email Templates in Magento 2\" href=\"https:\/\/meetanshi.com\/blog\/customize-email-templates-in-magento-2\/\" target=\"_blank\" rel=\"noopener\">customize the email templates<\/a> from the backend. Yet, we, Magento developers, sometimes want to customize the email templates, such as new_order.html in Magento 2, through a custom module to offer extended features to the store owners.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Recently, I was developing a custom module for Magento 2 that included sending different order emails for specific conditions. That, in turn, created the need to override the default order email template in Magento 2 rather than tweaking the core one.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Let&#8217;s see how I did that.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Method to Override order_new.html Email Template in Custom Module in Magento 2<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Step 1:<\/strong> Create <strong>app\/code\/Vendor\/Module\/etc\/email_templates.xml <\/strong>with the following code:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?xml version=\"1.0\"?&gt;\n&lt;config xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"urn:magento:module:Magento_Email:etc\/email_templates.xsd\"&gt;\n    &lt;template id=\"sales_email_order_template\" label=\"New Order\" file=\"custom_order_new.html\" type=\"html\" module=\"Vendor_Module\" area=\"frontend\"\/&gt;\n&lt;\/config&gt;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Step 2:<\/strong> Please create the file <em><strong>custom_order_new.html<\/strong><\/em> under the path&nbsp;<strong>Vendor\/Module\/view\/frontend\/email\/&nbsp;<\/strong>and add the following code:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;!--\n\/**\n * Copyright \u00a9 Magento, Inc. All rights reserved.\n * See COPYING.txt for license details.\n *\/\n--&gt;\n&lt;!--@subject {{trans \"Your %store_name order confirmation\" store_name=$store.frontend_name}} @--&gt;\n&lt;!--@vars {\n\"var formattedBillingAddress|raw\":\"Billing Address\",\n\"var order_data.email_customer_note|escape|nl2br\":\"Email Order Note\",\n\"var order.increment_id\":\"Order Id\",\n\"layout handle=\\\"sales_email_order_items\\\" order=$order area=\\\"frontend\\\"\":\"Order Items Grid\",\n\"var payment_html|raw\":\"Payment Details\",\n\"var formattedShippingAddress|raw\":\"Shipping Address\",\n\"var order.shipping_description\":\"Shipping Description\",\n\"var shipping_msg\":\"Shipping message\",\n\"var created_at_formatted\":\"Order Created At (datetime)\",\n\"var store.frontend_name\":\"Store Frontend Name\",\n\"var store_phone\":\"Store Phone\",\n\"var store_email\":\"Store Email\",\n\"var store_hours\":\"Store Hours\",\n\"var this.getUrl($store,'customer\/account\/',&#91;_nosid:1])\":\"Customer Account URL\",\n\"var order_data.is_not_virtual\":\"Order Type\",\n\"var order\":\"Order\",\n\"var order_id\": \"Order DB Id\",\n\"var order_data.customer_name\":\"Customer Name\"\n} @--&gt;\n\n{{template config_path=\"design\/email\/header_template\"}}\n\n&lt;table&gt;\n    &lt;tr class=\"email-intro\"&gt;\n        &lt;td&gt;\n            &lt;p class=\"greeting\"&gt;{{trans \"%customer_name,\" customer_name=$order_data.customer_name}}&lt;\/p&gt;\n            &lt;p&gt;\n                {{trans \"Thank you for your order from %store_name.\" store_name=$store.frontend_name}}\n                {{trans \"Once your package ships we will send you a tracking number.\"}}\n                {{trans 'You can check the status of your order by &lt;a href=\"%account_url\"&gt;logging into your account&lt;\/a&gt;.' account_url=$this.getUrl($store,'customer\/account\/',&#91;_nosid:1]) |raw}}\n            &lt;\/p&gt;\n            &lt;p&gt;\n                {{trans 'If you have questions about your order, you can email us at &lt;a href=\"mailto:%store_email\"&gt;%store_email&lt;\/a&gt;' store_email=$store_email |raw}}{{depend store_phone}} {{trans 'or call us at &lt;a href=\"tel:%store_phone\"&gt;%store_phone&lt;\/a&gt;' store_phone=$store_phone |raw}}{{\/depend}}.\n                {{depend store_hours}}\n                    {{trans 'Our hours are &lt;span class=\"no-link\"&gt;%store_hours&lt;\/span&gt;.' store_hours=$store_hours |raw}}\n                {{\/depend}}\n            &lt;\/p&gt;\n        &lt;\/td&gt;\n    &lt;\/tr&gt;\n    &lt;tr class=\"email-summary\"&gt;\n        &lt;td&gt;\n            &lt;h1&gt;{{trans 'Your Order &lt;span class=\"no-link\"&gt;#%increment_id&lt;\/span&gt;' increment_id=$order.increment_id |raw}}&lt;\/h1&gt;\n            &lt;p&gt;{{trans 'Placed on &lt;span class=\"no-link\"&gt;%created_at&lt;\/span&gt;' created_at=$created_at_formatted |raw}}&lt;\/p&gt;\n        &lt;\/td&gt;\n    &lt;\/tr&gt;\n    &lt;tr class=\"email-information\"&gt;\n        &lt;td&gt;\n            {{depend order_data.email_customer_note}}\n            &lt;table class=\"message-info\"&gt;\n                &lt;tr&gt;\n                    &lt;td&gt;\n                        {{var order_data.email_customer_note|escape|nl2br}}\n                    &lt;\/td&gt;\n                &lt;\/tr&gt;\n            &lt;\/table&gt;\n            {{\/depend}}\n            &lt;table class=\"order-details\"&gt;\n                &lt;tr&gt;\n                    &lt;td class=\"address-details\"&gt;\n                        &lt;h3&gt;{{trans \"Billing Info\"}}&lt;\/h3&gt;\n                        &lt;p&gt;{{var formattedBillingAddress|raw}}&lt;\/p&gt;\n                    &lt;\/td&gt;\n                    {{depend order_data.is_not_virtual}}\n                    &lt;td class=\"address-details\"&gt;\n                        &lt;h3&gt;{{trans \"Shipping Info\"}}&lt;\/h3&gt;\n                        &lt;p&gt;{{var formattedShippingAddress|raw}}&lt;\/p&gt;\n                    &lt;\/td&gt;\n                    {{\/depend}}\n                &lt;\/tr&gt;\n                &lt;tr&gt;\n                    &lt;td class=\"method-info\"&gt;\n                        &lt;h3&gt;{{trans \"Payment Method\"}}&lt;\/h3&gt;\n                        {{var payment_html|raw}}\n                    &lt;\/td&gt;\n                    {{depend order_data.is_not_virtual}}\n                    &lt;td class=\"method-info\"&gt;\n                        &lt;h3&gt;{{trans \"Shipping Method\"}}&lt;\/h3&gt;\n                        &lt;p&gt;{{var order.shipping_description}}&lt;\/p&gt;\n                        {{if shipping_msg}}\n                        &lt;p&gt;{{var shipping_msg}}&lt;\/p&gt;\n                        {{\/if}}\n                    &lt;\/td&gt;\n                    {{\/depend}}\n                &lt;\/tr&gt;\n            &lt;\/table&gt;\n            {{layout handle=\"sales_email_order_items\" order_id=$order_id area=\"frontend\"}}\n        &lt;\/td&gt;\n    &lt;\/tr&gt;\n&lt;\/table&gt;\n\n{{template config_path=\"design\/email\/footer_template\"}}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">You can tweak the above code as per your requirement to customize the email template.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That&#8217;s it!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you have any doubts or queries, please feel free to comment. I\u2019d be happy to help. \ud83d\ude07<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Also, I\u2019d be grateful if you could share the solution with the Magento community via social media. \ud83d\ude0a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Thank you. \ud83c\udf40<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hey Magento devs, Are you looking for a way to tweak the new order email template in a custom module in Magento 2? In this&#8230;<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[34],"tags":[3782],"class_list":["post-5850","post","type-post","status-publish","format-standard","hentry","category-magento","tag-magento2"],"acf":[],"_links":{"self":[{"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/posts\/5850","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/comments?post=5850"}],"version-history":[{"count":3,"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/posts\/5850\/revisions"}],"predecessor-version":[{"id":5864,"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/posts\/5850\/revisions\/5864"}],"wp:attachment":[{"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/media?parent=5850"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/categories?post=5850"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/tags?post=5850"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}