Magento 如果用户已订阅该电子邮件,则在来宾订阅服务器中显示错误消息
如果用户已使用电子邮件地址订阅,我想显示自定义消息。 像 你已经订阅了。多谢各位 而不是这个消息Magento 如果用户已订阅该电子邮件,则在来宾订阅服务器中显示错误消息,magento,magento2,newsletter,magento2.1,Magento,Magento2,Newsletter,Magento2.1,如果用户已使用电子邮件地址订阅,我想显示自定义消息。 像 你已经订阅了。多谢各位 而不是这个消息 我使用的是magento2.1.8。您应该为处理订阅注册过程的OOTB控制器(Magento/Newsletter/Controller/Subscriber/NewAction.php)定义一个首选项(通过di.xml)在自定义控制器的execute方法中,添加所需的逻辑以检查客户是否已经订阅,并相应地进行处理 您需要修改此简单检查 试试这个- 如果尚未覆盖NewAction.php文件,请转到
我使用的是magento2.1.8。您应该为处理订阅注册过程的OOTB控制器(Magento/Newsletter/Controller/Subscriber/NewAction.php)定义一个首选项(通过di.xml)在自定义控制器的execute方法中,添加所需的逻辑以检查客户是否已经订阅,并相应地进行处理
您需要修改此简单检查 试试这个- 如果尚未覆盖
NewAction.php
文件,请转到此路径,然后打开NewAction.php
文件
替换此代码:
if ($subscriber->getId() && $subscriber->getSubscriberStatus() == \Magento\Newsletter\Model\Subscriber::STATUS_SUBSCRIBED)
与:
仅此而已。表示默认情况下,magento2不检查用户是否已订阅?。因为每次我发邮件时都会说“感谢您的订阅”,每次都会给我发邮件。@AwaisKhan-在我的本地主机上查看OOTB M2代码库(仅供参考-我在Magento 2.2.1-dev上运行),看起来确实有一个检查客户是否订阅了(请参阅代码行#127-134)我建议您在安装时查看相同的文件(Magento/Newsletter/Controller/Subscriber/NewAction.php),看看验证逻辑是什么。如果缺少验证,您可以选择首选路径(如上面我的帖子所述),或者,您可以升级到2.2.x/2.3.x
if($subscriber->getId())