2011-03-14 48 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

相关问题