Вы также должны учитывать, когда пользователь регистрируется на лету при оформлении заказа: a Зарегистрироваться на chekout. Думая об этом случае, вы можете поймать событие "checkout_type_onepage_save_order_after" с вашим собственным классом Observer, а затем с этим кодом ...
if($observer->getEvent()->getQuote()->getCheckoutMethod(true) == Mage_Sales_Model_Quote::CHECKOUT_METHOD_REGISTER){
(...)
}
Кто-нибудь может сказать: Mage_Sales_Model_Quote-> getCheckoutMethod () устарела с версии 1.4 !! , но:
Если мы вызываем метод ortodox Mage_Checkout_Model_Type_Onepage-> getCheckoutMethod (), ожидая что-то как «METHOD_REGISTER», это выполняется:
if ($this->getCustomerSession()->isLoggedIn()) {
return self::METHOD_CUSTOMER;
}
... "METHOD_CUSTOMER" - это имя для проверки с уже зарегистрированным пользователем, а не в нашем случае .... но да !, потому что ....
... операция регистрации выполняется до события "checkout_type_onepage_save_order_after". Тогда у нас есть METHOD_CUSTOMER сейчас. Упс, что-то противоречивое?
К счастью, цитата остается с исходным значением: CHECKOUT_METHOD_REGISTER
Есть еще идеи для регистрации на кассе?