Magento 2 - assign custom email template to specific payment method The 2019 Stack Overflow Developer Survey Results Are InMagento 2: how to declare a custom email template for your moduleMagento 2 - discount depend on Payment Method does not workMagento 2: How to show/hide payment method on basis of amountmagento 2 order confirmation email sending before payment gatway redirectionEmail Template Based on Payment Method Magento 2Bank Transfer email template not translatedMagento 2 : The order confirmation email is not sentAdd custom payment info to email orderMagento2 order states per payment methodMagento 2 Bank transfer payment method is not shown on checkoutMagento 2 Payment Method List
What does "sndry explns" mean in one of the Hitchhiker's guide books?
How to create dashed lines/arrows in Illustrator
Is domain driven design an anti-SQL pattern?
Falsification in Math vs Science
Patience, young "Padovan"
How to answer pointed "are you quitting" questioning when I don't want them to suspect
Monty Hall variation
Confusion about non-derivable continuous functions
What does "rabbited" mean/imply in this sentence?
Idiomatic way to prevent slicing?
is usb on wall sockets live all the time with out switches off
Can't find the latex code for the ⍎ (down tack jot) symbol
Where does the "burst of radiance" from Holy Weapon originate?
Where to refill my bottle in India?
What is the meaning of Triage in Cybersec world?
What tool would a Roman-age civilisation use to reduce/breakup silver and other metals?
Should I write numbers in words or as symbols in this case?
Can I write a for loop that iterates over both collections and arrays?
How to reverse every other sublist of a list?
Does it makes sense to buy a new cycle to learn riding?
Time travel alters history but people keep saying nothing's changed
Access elements in std::string where positon of string is greater than its size
Feasability of miniature nuclear reactors for humanoid cyborgs
Pristine Bit Checking
Magento 2 - assign custom email template to specific payment method
The 2019 Stack Overflow Developer Survey Results Are InMagento 2: how to declare a custom email template for your moduleMagento 2 - discount depend on Payment Method does not workMagento 2: How to show/hide payment method on basis of amountmagento 2 order confirmation email sending before payment gatway redirectionEmail Template Based on Payment Method Magento 2Bank Transfer email template not translatedMagento 2 : The order confirmation email is not sentAdd custom payment info to email orderMagento2 order states per payment methodMagento 2 Bank transfer payment method is not shown on checkoutMagento 2 Payment Method List
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
What is the proper way to assign custom email template to specific payment method upon creating an order? For example:
When choosing a Bank transfer payment method on the checkout it should send custom email template upon submiting the order, not the default order email.
I've looked around but found no proper solution for this issue, only this: Magento 2: how to declare a custom email template for your module
magento2 layout xml
bumped to the homepage by Community♦ 9 mins ago
This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
add a comment |
What is the proper way to assign custom email template to specific payment method upon creating an order? For example:
When choosing a Bank transfer payment method on the checkout it should send custom email template upon submiting the order, not the default order email.
I've looked around but found no proper solution for this issue, only this: Magento 2: how to declare a custom email template for your module
magento2 layout xml
bumped to the homepage by Community♦ 9 mins ago
This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
add a comment |
What is the proper way to assign custom email template to specific payment method upon creating an order? For example:
When choosing a Bank transfer payment method on the checkout it should send custom email template upon submiting the order, not the default order email.
I've looked around but found no proper solution for this issue, only this: Magento 2: how to declare a custom email template for your module
magento2 layout xml
What is the proper way to assign custom email template to specific payment method upon creating an order? For example:
When choosing a Bank transfer payment method on the checkout it should send custom email template upon submiting the order, not the default order email.
I've looked around but found no proper solution for this issue, only this: Magento 2: how to declare a custom email template for your module
magento2 layout xml
magento2 layout xml
edited Apr 13 '17 at 12:55
Community♦
1
1
asked Jul 18 '16 at 10:27
devhndevhn
263
263
bumped to the homepage by Community♦ 9 mins ago
This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
bumped to the homepage by Community♦ 9 mins ago
This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
A module can be made with below code to override "MagentoSalesModelOrderEmailSenderOrderSender"
File: 'app/code/Vendor/Module/etc/di.xml'
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<preference for="MagentoSalesModelOrderEmailSenderOrderSender" type="VendorModuleModelEmailSenderOrderSender"/>
</config>
File: 'app/code/Vendor/Module/Email/Sender/OrderSender.php'
Class VendorModuleModelEmailSenderOrderSender
namespace VendorModuleModelEmailSender;
use MagentoSalesModelOrder;
class OrderSender extends MagentoSalesModelOrderEmailSenderOrderSender
protected function prepareTemplate(Order $order)
parent::prepareTemplate($order);
//Get Payment Method
$paymentMethod = $order->getPayment()->getMethod();
//Define email template for each payment method
switch ($paymentMethod)
case 'cashondelivery' : $templateId = 'custom_template_cod'; break;
case 'checkmo' : $templateId = 'custom_template_checkmo'; break;
// Add cases if you have more payment methods
default:
$templateId = $order->getCustomerIsGuest() ?
$this->identityContainer->getGuestTemplateId()
: $this->identityContainer->getTemplateId();
$this->templateContainer->setTemplateId($templateId);
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "479"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f126159%2fmagento-2-assign-custom-email-template-to-specific-payment-method%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
A module can be made with below code to override "MagentoSalesModelOrderEmailSenderOrderSender"
File: 'app/code/Vendor/Module/etc/di.xml'
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<preference for="MagentoSalesModelOrderEmailSenderOrderSender" type="VendorModuleModelEmailSenderOrderSender"/>
</config>
File: 'app/code/Vendor/Module/Email/Sender/OrderSender.php'
Class VendorModuleModelEmailSenderOrderSender
namespace VendorModuleModelEmailSender;
use MagentoSalesModelOrder;
class OrderSender extends MagentoSalesModelOrderEmailSenderOrderSender
protected function prepareTemplate(Order $order)
parent::prepareTemplate($order);
//Get Payment Method
$paymentMethod = $order->getPayment()->getMethod();
//Define email template for each payment method
switch ($paymentMethod)
case 'cashondelivery' : $templateId = 'custom_template_cod'; break;
case 'checkmo' : $templateId = 'custom_template_checkmo'; break;
// Add cases if you have more payment methods
default:
$templateId = $order->getCustomerIsGuest() ?
$this->identityContainer->getGuestTemplateId()
: $this->identityContainer->getTemplateId();
$this->templateContainer->setTemplateId($templateId);
add a comment |
A module can be made with below code to override "MagentoSalesModelOrderEmailSenderOrderSender"
File: 'app/code/Vendor/Module/etc/di.xml'
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<preference for="MagentoSalesModelOrderEmailSenderOrderSender" type="VendorModuleModelEmailSenderOrderSender"/>
</config>
File: 'app/code/Vendor/Module/Email/Sender/OrderSender.php'
Class VendorModuleModelEmailSenderOrderSender
namespace VendorModuleModelEmailSender;
use MagentoSalesModelOrder;
class OrderSender extends MagentoSalesModelOrderEmailSenderOrderSender
protected function prepareTemplate(Order $order)
parent::prepareTemplate($order);
//Get Payment Method
$paymentMethod = $order->getPayment()->getMethod();
//Define email template for each payment method
switch ($paymentMethod)
case 'cashondelivery' : $templateId = 'custom_template_cod'; break;
case 'checkmo' : $templateId = 'custom_template_checkmo'; break;
// Add cases if you have more payment methods
default:
$templateId = $order->getCustomerIsGuest() ?
$this->identityContainer->getGuestTemplateId()
: $this->identityContainer->getTemplateId();
$this->templateContainer->setTemplateId($templateId);
add a comment |
A module can be made with below code to override "MagentoSalesModelOrderEmailSenderOrderSender"
File: 'app/code/Vendor/Module/etc/di.xml'
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<preference for="MagentoSalesModelOrderEmailSenderOrderSender" type="VendorModuleModelEmailSenderOrderSender"/>
</config>
File: 'app/code/Vendor/Module/Email/Sender/OrderSender.php'
Class VendorModuleModelEmailSenderOrderSender
namespace VendorModuleModelEmailSender;
use MagentoSalesModelOrder;
class OrderSender extends MagentoSalesModelOrderEmailSenderOrderSender
protected function prepareTemplate(Order $order)
parent::prepareTemplate($order);
//Get Payment Method
$paymentMethod = $order->getPayment()->getMethod();
//Define email template for each payment method
switch ($paymentMethod)
case 'cashondelivery' : $templateId = 'custom_template_cod'; break;
case 'checkmo' : $templateId = 'custom_template_checkmo'; break;
// Add cases if you have more payment methods
default:
$templateId = $order->getCustomerIsGuest() ?
$this->identityContainer->getGuestTemplateId()
: $this->identityContainer->getTemplateId();
$this->templateContainer->setTemplateId($templateId);
A module can be made with below code to override "MagentoSalesModelOrderEmailSenderOrderSender"
File: 'app/code/Vendor/Module/etc/di.xml'
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<preference for="MagentoSalesModelOrderEmailSenderOrderSender" type="VendorModuleModelEmailSenderOrderSender"/>
</config>
File: 'app/code/Vendor/Module/Email/Sender/OrderSender.php'
Class VendorModuleModelEmailSenderOrderSender
namespace VendorModuleModelEmailSender;
use MagentoSalesModelOrder;
class OrderSender extends MagentoSalesModelOrderEmailSenderOrderSender
protected function prepareTemplate(Order $order)
parent::prepareTemplate($order);
//Get Payment Method
$paymentMethod = $order->getPayment()->getMethod();
//Define email template for each payment method
switch ($paymentMethod)
case 'cashondelivery' : $templateId = 'custom_template_cod'; break;
case 'checkmo' : $templateId = 'custom_template_checkmo'; break;
// Add cases if you have more payment methods
default:
$templateId = $order->getCustomerIsGuest() ?
$this->identityContainer->getGuestTemplateId()
: $this->identityContainer->getTemplateId();
$this->templateContainer->setTemplateId($templateId);
answered Jun 11 '17 at 16:23
harriharri
3,0611656
3,0611656
add a comment |
add a comment |
Thanks for contributing an answer to Magento Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f126159%2fmagento-2-assign-custom-email-template-to-specific-payment-method%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown