Я также столкнулся с этим и выполнил трассировку стека в обозревателе для каждого метода и может сообщить вам, по крайней мере, ОДНУ причину, почему он срабатывает дважды (могут быть другие):
Когда новый пользовательсоздает учетную запись, createPostAction () запускается при отправке формы.Это действие выполняет save()
для клиента.
THEN, после того, как клиент был создан, метод setCustomerAsLoggedIn () вызывается методом createPostAction ().Это, в свою очередь, вызывает setCustomer (), который имеет небольшой кусочек кода:
if ((!$customer->isConfirmationRequired()) && $customer->getConfirmation()) {
$customer->setConfirmation(null)->save(); // here is the second save
$customer->setIsJustConfirmed(true);
}
Это два save (), которые отправляют событие сохранения.Я знаю это наверняка только при создании аккаунта в Magento 1.5.Я сомневаюсь, срабатывает ли он дважды при создании пользователей в области администратора или когда пользователь редактирует их информацию ... но я точно не знаю.
Надеюсь, это поможет!