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
It's possible to achieve negative score?
Are USB sockets on wall outlets live all the time, even when the switch is off?
Idiomatic way to prevent slicing?
aging parents with no investments
Why Did Howard Stark Use All The Vibranium They Had On A Prototype Shield?
What is the use of option -o in the useradd command?
What is the best strategy for white in this position?
Does light intensity oscillate really fast since it is a wave?
How to make payment on the internet without leaving a money trail?
Understanding the implication of what "well-defined" means for the operation in quotient group
Spanish for "widget"
Why is it "Tumoren" and not "Tumore"?
How long do I have to send payment?
Patience, young "Padovan"
Springs with some finite mass
What could be the right powersource for 15 seconds lifespan disposable giant chainsaw?
What do hard-Brexiteers want with respect to the Irish border?
Realistic Alternatives to Dust: What Else Could Feed a Plankton Bloom?
Is there a name of the flying bionic bird?
Where does the "burst of radiance" from Holy Weapon originate?
Inflated grade on resume at previous job, might former employer tell new employer?
Monty Hall variation
Which Sci-Fi work first showed weapon of galactic-scale mass destruction?
"To split hairs" vs "To be pedantic"
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♦ 3 hours 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♦ 3 hours 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♦ 3 hours 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♦ 3 hours 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