2014-02-14 4 views
0

일부 고객이 주소를 변경하지 못하게해야합니다. 시스템 이벤트 'customer_address_save_ (before | after)'가 있습니다. (일부 고객의 조건에 따라) 자체 관찰자가 데이터베이스에 작성하는 것을 취소 할 수 있습니까? 또는 시스템 고객 클래스 (예 : beforeSave 메소드)를 다시 작성하여이를 수행 할 수 있습니까? 간단히 말하면 자신의 모듈에서 데이터 변경을 방지하는 방법입니다.Magento 관찰자의 데이터 변경을 방지하는 방법

감사합니다.

/** @var $customerAddress Mage_Customer_Model_Address */ 
$customerAddress = $observer->getCustomerAddress(); 

$origData = $customerAddress->getOrigData(); 
$newData = $customerAddress->getData(); 

가 즐기십시오 : - (customer_address_save_before 이벤트)

답변

1

당신은 당신의 관찰자에 시도 할 수 있습니다.

+0

유진, 답변 주셔서 감사합니다 (spasibo). 나는 customer_address_save_before 이벤트에서 코드를 검사했다. - orig_data는 여기에 정의되지 않았다. (그러나 해결책을 찾았습니다 :/** * 저장하기 전에 데이터 저장을 멈출 수있는 플래그 * 다음 순서에 사용할 수 있습니다 : 데이터가있는 경우 _beforeSave의 데이터를 검사합니다. * 유효하지 않습니다 - 우리가 중지됩니다 거짓 값이 플래그를 설정하고 과정을 절약 할 수 있습니다 * * @var의 부울 */ 보호를 $ true _dataSaveAllowed =; – Dzurillo

+0

니스, 감사하고! – Eugene

관련 문제