2014-02-16 1 views
0

thanx для чтения. У меня есть наблюдатель Отключается на adminhtml_customer_save_after событие Это событие происходит после добавления нового клиента И после сохранения в клиенте для клиента, который уже существует. Как узнать, генерируется ли событие из-за добавления нового клиента или сохранения после редактирования существующего клиента.Как узнать, новый или отредактированный клиент

спасибо заранее

+0

Новый клиент не имеет идентификатора. Вы можете проверить идентификатор с помощью 'if ($ customer-> getId() ==" ") echo« Клиент, скорее всего, новый »;'. '$ customer' - ваша модель клиента. –

+0

NO .. мы git новый клиент id $ customer = $ observer-> getCustomer() -> getData(); $ id = $ customer ['entity_id']; – rramiii

+0

Я думаю, что это что-то вроде isObjectNew .. – rramiii

ответ

1

Если у вас есть метод doBeforeSave() прослушивает adminhtml_customer_save_before и doAfterSave() прослушивает adminhtml_customer_save_after вы можете что-то добавить к вашей модели перед его спаслись и проверить его после того, как он сохранен, fe:

public function doBeforeSave($observer) { 
    $customer = $observer->getEvent()->getCustomer(); 
    if ($customer->getId() == 0) { 
     $customer->setMyCustomPropertyToCheckIfIsNew(true); 
    } 
} 

public function doAfterSave($observer) { 
    $customer = $observer->getEvent()->getCustomer(); 
    if ($customer->getMyCustomPropertyToCheckIfIsNew()) { 
     // This is a new customer being saved! 
    } 
} 
Смежные вопросы