ستساعدك المقالة التالية: كيفية إرسال بريد إلكتروني بعد إلغاء الطلب في Magento 2
يسمح Magento 2 الافتراضي للتجار بإعداد بريد إلكتروني لتأكيد الطلب في Magento 2 ، وكذلك لإنشاء الشحنة والفواتير. تعد إشعارات البريد الإلكتروني هذه مهمة جدًا للحصول على تجربة تسوق أفضل للعملاء.
في بعض الأحيان ، نظرًا لعدم توفر المخزون أو لأي أسباب أخرى ، يتعين على المسؤول إلغاء الطلب من الواجهة الخلفية. ومع ذلك ، عندما يتم إلغاء طلب من الواجهة الخلفية ، لا يتم إرسال البريد الإلكتروني لإلغاء الطلب إلى العملاء. لذلك ، إذا ألغى المسؤول الطلب ولم يتلق العميل بريدًا إلكترونيًا. يؤثر على تجربة التسوق ويقلل من معدل الاحتفاظ بالعملاء.
اليوم ، توصلت إلى حل إرسال بريد إلكتروني بعد إلغاء الطلب في Magento 2 لإخطار العملاء بشكل أفضل بأوامرهم الملغاة.
حل برمجي لإرسال البريد الإلكتروني بعد إلغاء الطلب في Magento 2
- يخلق Events.xml في
<؟ xml version = "1.0"؟>
<؟ xml version = "1.0"؟>
xsi: noNamespaceSchemaLocation = “urn: magento: framework: Event / etc / events.xsd”>
<اسم المراقب = "sales_order_save_after"
المثيل = “Vendor \ Extension \ Observer \ OrderSaveAfter” />
- يخلق OrderSaveAfter.php في
<؟ php namespace Vendor \ Extension \ Observer؛ استخدم Magento \ Framework \ Event \ ObserverInterface ؛ استخدم Magento \ Sales \ Model \ Order \ Email \ Sender \ OrderCommentSender؛ فئة OrderSaveAfter تنفذ ObserverInterface {protected $ orderCommentSender؛ الوظيفة العامة __construct (OrderCommentSender $ orderCommentSender) {$ this-> orderCommentSender = $ orderCommentSender؛ } تنفيذ الوظيفة العامة (\ Magento \ Framework \ Event \ Observer $ Observer) {$ order = $ Observer-> getEvent () -> getOrder ()؛ if ($ order-> getState () == ‘ملغاة’) {$ this-> orderCommentSender-> send ($ order، true)؛ }}}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<؟ php
مساحة الاسم البائع \ الامتداد \ المراقب ؛
استخدم Magento \ Framework \ Event \ ObserverInterface ؛
استخدم Magento \ Sales \ Model \ Order \ Email \ Sender \ OrderCommentSender؛
فئة OrderSaveAfter تنفذ ObserverInterface
{
محمي $ orderCommentSender؛
الوظيفة العامة __construct (
OrderCommentSender $ orderCommentSender
)
{
$ this-> orderCommentSender = $ orderCommentSender؛
}
تنفيذ الوظيفة العامة (\ Magento \ Framework \ Event \ Observer $ Observer)
{
$ order = $ Observer-> getEvent () -> getOrder () ؛
إذا ($ order-> getState () == “ملغاة”) {
$ this-> orderCommentSender-> send ($ order، true)؛
}
}
}
منتهي!
يؤدي تنفيذ الحل أعلاه إلى إرسال إشعار بالبريد الإلكتروني إلى العملاء تلقائيًا بعد إلغاء الطلب من الواجهة الخلفية.
إذا كان لديك استفسار بخصوص هذا المنشور ، فلا تتردد في طرحه في قسم التعليقات أدناه.
أود حل استفسارك.
لا تفكر في مشاركة هذا المنشور مع Magento Community عبر وسائل التواصل الاجتماعي.
شكرًا لك.