2011-03-14 46 views
1

根據某些標準添加新產品時,我想發送郵件。我應該在Magento中使用哪些事件?

我應該在哪裏把我的代碼,以便當一個產品被保存,我可以:

  • 可以獲得它和它的屬性與
  • 工作發送電子郵件到一些客戶

謝謝提前。

+0

你需要接受你以前的問題的答案,這就是StackOverflow的工作原理...... – 2011-03-15 22:02:50

回答

2

Magento已經在Mage_ProductAlert功能中包含了這個功能。您可以擴展該模塊以考慮您的額外標準。它掛接到cron系統,而不是同步調用Observer,這是一個更好的性能模型。

+1

哇,我從來沒有想到這一點!如果EricP計劃發送給一個或兩個客戶(或管理員),那麼這將是過度的(因爲我認爲這對代碼/測試來說更復雜一點),但是如果有一個潛在的大量客戶通過電子郵件發送,這可能比僅僅做一個事件觀察者更好。 – shaune 2011-03-15 15:12:30

0

您可能想結帳catalog_product_new_action。從來沒有使用它,但它可能適合你。不知道它是否適用於複製產品。我使用了另一個事件, catalog_product_save_before catalog_product_before_save,保存產品時隨時啓動。 (使用谷歌搜索magento事件作弊表)。但兩者都可以在您的觀察員功能中獲得產品

$product = $observer->getEvent()->getProduct(); 

然後您可以從產品中獲取該屬性。

$product->getMyAttribute() 

其中my_attribute是您之後的屬性。

使用php的mail()函數發送郵件應該很簡單。如果你想變得複雜,你可以使用Magento發送交易電子郵件的方式,但是除非你需要它來翻譯,否則你可能不需要它。

+0

如果它是「before_save」,那麼新產品可能還沒有ID,而現有的產品會有。 – clockworkgeek 2011-03-14 21:07:55

+0

@clockworkgeek - 好點 – shaune 2011-03-15 15:02:12

相關問題