我想知道当添加一个符合他/她的兴趣的新产品时,通知用户的最佳方式是什么?如何在Magento中添加产品时通知?
我觉得一个cron运行(每小时例如以上)至少2次天
我也能想象到那种实现事件系统,而是一个可能会非常棘手。你有什么反馈意见吗?
感谢
我想知道当添加一个符合他/她的兴趣的新产品时,通知用户的最佳方式是什么?如何在Magento中添加产品时通知?
我觉得一个cron运行(每小时例如以上)至少2次天
我也能想象到那种实现事件系统,而是一个可能会非常棘手。你有什么反馈意见吗?
感谢
您需要添加一个value属性为“从日期设置为产品新”,这样将出现在新产品的RSS提要。制作新的事件系统没有意义。这是实现这种事情的简单方法。
您可以创建一个与INSERT脚本同时运行的脚本,该脚本在数据库中搜索名为say“Notify”的表并搜索表中的循环,并查找注册说类别“牙签”的所有人并发送一个质量所以你需要设置变量来捕捉($ users)用户和一个类别($ category = mysql_real_escape_string('$ _ POST ['category'))。 ]);然后设置一个SELECT语句从表“Kitchen_Goods”WHERE category = $ category中取出,然后设置$ rows变量,以便您可以将用户名和email_address列设置为变量,然后将所有电子邮件结果之间有一个逗号,然后将该变量作为收件人回显您的邮件()函数中的字段。这是一个圆满的,不完整的方式。
或者你可以使用简单的100倍的RSS。
你没有说明你如何节省客户的兴趣,所以我会把这个魔法降级到魔法,直到你说不对。这样做的一个好方法是将事件挂接到Magento中的catalog_product_save_after
事件。每当您保存产品时,此功能都会启动。创建一个如下所示的观察者:
public function observeProductSave($event) {
$product = $event['product'];
$customers = $this->getMatchingCustomerInterests($product);
foreach($customers as $customer) {
//send email to that customer
}
}
public function getMatchingCustomerInterests($product) {
// here you'll need to use your mechanism for saving
// customer interests to grab an array/collection of
// customers to send the emails to.
}
很明显,这段代码并不是100%完整的,但这就是它的要点。您可能需要添加一个设施,以确保客户不会多次通知产品。
希望有帮助!
谢谢, 乔
好的,谢谢你的回答,但你能告诉我应该在哪里创建这个观察者?我是否需要扩展任何类并覆盖此方法? – 2011-03-11 11:08:05
在你想发送邮件给客户接不下去了RSS或cron的只是用所谓的“catalog_product_save_after”事件在你的config.xml中的新产品增加时间的时间文件并调用一个函数,该函数只写这样
public function sendMailToNotifiedCustomerOk($observer){
$product = $observer->getProduct(); //get the current product
echo "<pre>"; print_r($product); echo "</pre>";exit;
}
,当你点击保存按钮,此功能将执行并显示你喜欢
[_isObjectNew:protected] => 1
一个标志值
仅当添加新产品时,此值为1。
如果要更新或编辑产品,那么这个值是
[_isObjectNew:protected] =>
所以它是零(0)
,你可以这样写
if($product->_isObjectNew)
{
//send email to your friends
}
我不想使用RSS提要。管理员会在给定的类别中添加一个产品,并附带一些属性,并且我正在寻找一种方法来通知(通过电子邮件)我的客户,当这些产品符合他们的兴趣时。 – 2011-03-09 23:19:44