Magento-没有新闻通讯订阅和活动退订 [英] Magento - no event for newsletter subscribe & unsubscribe

查看:76
本文介绍了Magento-没有新闻通讯订阅和活动退订的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

为什么在客户或时事通讯模块中的时事通讯订阅/取消订阅过程上或周围没有调度事件.

Why are there no events dispatched on or around the newsletter subscription/un-subscription process either in the customer or newsletter modules.

我目前面临的唯一选择是对订户模型使用重写以适合此处的一些代码.

The only alternative i am faced with at the moment is to use a rewrite for the subscriber model to fit some code in around here.

还有其他人可以替代吗?或者我错过了什么

Does anyone else have a good alternative to this - or am I missing something

推荐答案

以下是在1.7.0.2上对我有用的内容.我知道此线程很旧,但是将其发布在这里以防万一(对那里的活动而言,信息不多)可以帮助任何人:

Here's what just worked for me on 1.7.0.2. I know this thread is old, but posting it here in case it can help anyone (since there's not a lot of info about this event out there):

*注意:用扩展名的唯一名称替换myco_myextension:*

*NOTE: Replace myco_myextension with your extension's unique name:*

在config.xml中:

        <newsletter_subscriber_save_commit_after>
            <observers>
                <myco_myextension_model_observer>
                    <class>Myco_Myextension_Model_Observer</class>
                    <method>subscribedToNewsletter</method>
                </myco_myextension_model_observer>
            </observers>
        </newsletter_subscriber_save_commit_after>

在Observer.php中:

public function subscribedToNewsletter(Varien_Event_Observer $observer) 
{
    $event = $observer->getEvent();
    $subscriber = $event->getDataObject();
    $data = $subscriber->getData();

    $statusChange = $subscriber->getIsStatusChanged();

    // Trigger if user is now subscribed and there has been a status change:
    if ($data['subscriber_status'] == "1" && $statusChange == true) {
      // Insert your code here
    }
    return $observer;
}

这篇关于Magento-没有新闻通讯订阅和活动退订的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆