观察Magento中的客户帐户验证事件

时间:2013-01-03 14:52:36

标签: magento

当客户验证帐户时,有没有办法捕获事件?我需要此功能才能使用户访问其他集成子系统

3 个答案:

答案 0 :(得分:1)

每个模型都有标准的load_before,load_after,save_before,save_after等事件。查看Mage_Core_Model_Abstract以获取所有预定义事件的列表。

对于客户,您可以使用customer_save_after事件。在观察者中检查原始数据与新数据:

public function myObserver(Varien_Event_Observer $observer)
{
    $customer = $observer->getCustomer();
    $orig_active_flag = $custoner->getOrigData('is_active');
    $new_active_flag = $customer->getData('is_active');

    // do something here …

    return $this;
}

答案 1 :(得分:1)

即使您可以使用以下代码在客户注册后创建自己的活动。

Mage::dispatchEvent('Yuor_Unique_Event_Name', array());

现在使用此活动,您可以执行任何操作。

答案 2 :(得分:1)

由于confirmAction()似乎无法触发

中的任何事件
  

/app/code/core/Mage/Customer/controllers/AccountController.php

你可以做任何一件事

  1. Overriding Frontend Core Controllers使用Mage::dispatchEvent()创建您自己的活动,或直接在AccountController.php中添加代码{/ 1}

  2. 使用@Pavel Novitsky答案,但您可能需要检查您是否在确认帐户控制器上或检查更改电子邮件验证标志,因为每次更改/更新客户信息时都会触发此事件< / p>

  3. 例如

    confirmAction