编程语言
首页 > 编程语言> > php – Magento时事通讯 – 检查GUEST是否已订阅

php – Magento时事通讯 – 检查GUEST是否已订阅

作者:互联网

我对Magento中的默认新闻通讯系统有以下问题:如果已注册通讯的已注册客户再次尝试注册,则会收到错误消息,表示他已订阅,这是正常的.
但是,如果GUEST(未登录)客户已经订阅了时事通讯并且他试图再次注册它有效,他会收到时事通讯确认电子邮件,他可以确认他的订阅而不会收到任何错误,这是不行的.
有没有办法检查GUEST(未登录)客户是否已经订阅,以便他在尝试再次注册时可能会收到错误消息?

谢谢,

亚历克斯

解决方法:

看一看 @

Class :  Mage_Newsletter_SubscriberController
Path  :  /app/code/core/Mage/Newsletter/controllers/SubscriberController.php
Table : newsletter_subscriber

假设您创建了一个覆盖Mage_Newsletter_SubscriberController的自定义模块

第63行附近添加(以上$status = Mage :: getModel(‘newsletter / subscriber’) – > subscribe($email);)

$emailExist = Mage::getModel('newsletter/subscriber')->load($email, 'subscriber_email');
if ($emailExist->getId()) {
    Mage::throwException($this->__('This email address is already exist.'));
}

覆盖前端的Newsletter控制器

 <?xml version="1.0" encoding="iso-8859-1"?>
 <config>
     <frontend>
         <routers>
             <newsletter>
                 <args>
                     <modules>
                         <My_Newsletter before="Mage_Newsletter_SubscriberController">My_Newsletter</My_Newsletter>
                     </modules>
                  </args>
             </newsletter>
         </routers>
     </frontend>
 </config>

标签:php,magento,magento-1-7
来源: https://codeday.me/bug/20190831/1778550.html