我建立了一個觀察員爲newsletter_subscriber_save_before event;
當客戶訂閱/取消訂閱新聞通訊時,它會被解僱。 我需要相應地更改此客戶組ID。看來我可以更改GroupId,但我無法設法保存它。如果我在我的代碼中調用$customer->save()
- 方法,我會遇到無限循環;如果我試圖鉤入newsletter_subscriber_save_after
事件,也會發生同樣的情況。Magento - 無法保存更改的客戶GroupId觀察員爲newsletter_subscriber_save_before事件
任何人都可以幫到我嗎?將不勝感激!
這裏是我的代碼在Observer.php:
public function newsletter_subscriber_change($observer) {
try {
// get status of subscriber
$subscriber = $observer->getEvent()->getSubscriber();
$status = $subscriber->getStatus();
$email = $subscriber->getEmail();
$customer = Mage::getSingleton('customer/customer');
$customer->setWebsiteId(Mage::app()->getWebsite()->getId());
$customer->loadByEmail($email);
// here i change the groupId
$customer->setData('group_id', 9);
// if i check the group here, the change applied ...
$customer_group = $customer->getGroupId();
// i tried saving with following, but run into loop
$customer->save();
} catch (Exception $e) {
Mage::log("newsletter_subscriber_change observer failed: " . $e->getMessage());
}
}
嘗試做'$客戶 - > setIsSubscribed(真) - >保存();' - 啊這是行不通的沒關係,SRY – butterbrot 2013-05-08 16:32:57