首页
版块
教程
交流
话题
官网
搜索
登录
注册
首页
>
CMS网站教程
>
Magento教程
>
如何禁用默认Magento交易通讯邮件
回复
« 返回列表
溪水奔流
U声U色
UID
101208
粉丝
1
关注
0
发帖数
1
铜币
12枚
威望
12点
贡献
0点
加关注
写私信
阅读:
2653
回复:
0
如何禁用默认Magento交易通讯邮件
楼主
#
更多
只看楼主
倒序阅读
发布于:2014-10-15 14:32
保存
不是每个人都满意Magento的有关通讯选项,因此他们选择使用一些第三方服务(如MailChimp)。 在这种情况下,它可能是禁用Magento的默认通讯事务的电子邮件,并让其他第三方服务照顾电子邮件的一个好主意。
在本教程中我将演示如何禁用这些默认Magento的通讯事务电子邮件。
对于启动,我们将改写核心模式在我们的config.xml
Inchoo_Newsletter_Model_Newsletter_Subscriber
这可能是一个好主意,把配置选项,因此店老板可以打开默认的电子邮件随时/关他想。
我们将开始通过创建的system.xml并把这个代码块吧:
Inchoo
200
Newsletter Configuration
inchoo_test_tab
text
1
1
1
1
Newsletter Subscription Transactional Mails
text
1
1
1
120
Enable
select
adminhtml/system_config_source_yesno
40
1
1
1
下一步,我们将添加路径,我们Helper类内部配置选项和方法来检索其值:
class Inchoo_Newsletter_Helper_Data extends Mage_Core_Helper_Abstract
{
const XML_PATH_NEWSLETTER_MAILS = ‘inchoo_newsletter/newsletter_subscription_transactional_mails/enabled’;
public function getNewsletterSubscriptionMailEnabled()
{
return Mage::getStoreConfig(self::XML_PATH_NEWSLETTER_MAILS);
}
}
最后一步是编辑从我们以前改写了几类核心方法。
我们的新模型类是Inchoo_Newsletter_Model_Newsletter_Subscriber,它必须扩展核心类Mage_Newsletter_Model_Subscriber。 类的名称取决于你的模块,但是,我们总是需要扩展核心类,否则将无法正常工作。
你需要从核心类3种方法复制到新的类,并进行小的调整给他们。
[*] 公共职能订阅($电子邮件)
[*] 公共职能subscribeCustomer($用户)
[*] 公共职能退订()
里面订阅方法找到以下
if ($isConfirmNeed === true
>> $isOwnSubscribes === false
) {
$this->sendConfirmationRequestEmail();
} else {
$this->sendConfirmationSuccessEmail();
}
并用它代替我们
if ((bool) Mage::helper(‘inchoo_newsletter’)->getNewsletterSubscriptionMailEnabled()) {
if ($isConfirmNeed === true >> $isOwnSubscribes === false) {
$this->sendConfirmationRequestEmail();
} else {
$this->sendConfirmationSuccessEmail();
}
}
对于subscribeCustomer方法查找: if ($this->getIsStatusChanged() >> $status == self::STATUS_UNSUBSCRIBED) {
$this->sendUnsubscriptionEmail();
} elseif ($this->getIsStatusChanged() >> $status == self::STATUS_SUBSCRIBED) {
$this->sendConfirmationSuccessEmail();
}
并与更换:
if ((bool) Mage::helper(‘inchoo_newsletter’)->getNewsletterSubscriptionMailEnabled()) {
if ($this->getIsStatusChanged() >> $status == self::STATUS_UNSUBSCRIBED) {
$this->sendUnsubscriptionEmail();
} elseif ($this->getIsStatusChanged() >> $status == self::STATUS_SUBSCRIBED) {
$this->sendConfirmationSuccessEmail();
}
}
在过去的方法退订发现:
[*] $this->sendUnsubscriptionEmail();
并与更换:
if ((bool) Mage::helper(‘inchoo_newsletter’)->getNewsletterSubscriptionMailEnabled()) {
$this->sendUnsubscriptionEmail();
}
这是什么意思是,我们首先检查我们的配置选项是否被设置为启用或禁用。 如果设置为禁用,然后不执行里面的代码if语句是负责发送这些事务的电子邮件。
喜欢
5
评分
0
最新喜欢:
回复
发帖
回复
« 返回列表
普通帖
您需要登录后才可以回帖,
登录
或者
注册
返回顶部
关闭
最新喜欢