获取库存不可用的通知

时间:2013-11-18 09:03:25

标签: php ajax magento stock magento-1.8

如果库存不可用,我正在尝试创建“通知我”功能。

在管理员面板上搜索时,我只能找到一个用户sign up / log in来获取有关库存状况的通知。

但我只是想让用户(访客)只输入他/她的电子邮件地址以获得通知。

我该怎么做?

请提出建议..

修改

我有这个link,这给了我一个开始的方法。

到目前为止,我所做的是在我的模板文件中添加了以下代码,该文件正在创建重定向的URL(以ajax方式进行,以停止页面刷新)。

<?php
      $actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; 
      $base64 = strtr(base64_encode($actual_link), '+/=', '-_,'); 
      $postUrl = "http://$_SERVER[HTTP_HOST]/efk/productalert/add/stock/product_id/" . $simpleProduct->getId() . "/uenc/". $base64; 
?>

在上面的代码中,efk是我的项目文件夹名称。

在此之后,我转到productalert/add/stock控制器方法即stockAction()使用sign up / login调用$model->save();表单(我认为是) 。

如何禁用此保存呼叫并添加我自己的小覆盖,其中包含一个文本框以输入电子邮件地址?

5 个答案:

答案 0 :(得分:4)

Magento开箱即用“产品有库存时通知我”功能。它可以在管理面板中配置:系统/配置/目录/产品警报和产品警报运行设置。

您是对的,它仅适用于注册客户。为了使其为访客用户工作,需要一些编码。我要说你需要做以下步骤:

  1. email列添加到product_alert_stock表格
  2. 创建新的控制器和操作(相信我,它比通过config.xml覆盖现有的控制器更好),扩展了Mage_ProductAlert_AddController::stockAction()。您的方法必须将访客的电子邮件设置为productalert/stock型号。
  3. 创建订阅表单并确保将数据提交给新的控制器/操作。
  4. 更新(覆盖)Mage_ProductAlert_Model_Observer::_processStock()方法,使其尊重“客户”没有身份证但有电子邮件的情况。
  5. 当您进行测试时,我建议您安装SMTP Pro Email extensionmailcatcher以简化测试过程。

答案 1 :(得分:2)

我们已经完成了这项工作(http://www.alfresia.co.uk/sorrento-side-table.html/)。在这里,我们最终创建了一个自定义模块,就像我们这样做时,magento不支持访客用户的任何产品警报系统(我不知道现在是否支持)。

我们首先创建了一个文本框,该文本框将显示在产品缺货的产品页面上。我们将这些信息保存在我们的一个自定义表中,其中架构为{id,email,product_sku,status}(状态有三个值等待库存,有库存和已经通知)。

然后我们写了一个与cataloginventory_stock_item_save_after事件挂钩的观察者,这帮助我们获得了库存中的产品sku,并更新了我们的自定义表格中的所有条目,状态为库存并发送邮件给用户。

这就是我们这样做的方式,肯定会有更清洁的方式。

答案 2 :(得分:0)

你可以使用插件。 MagentoCommerce有大量的插件/扩展程序可以做同样的事情

免费版 - http://www.magentocommerce.com/magento-connect/product-out-of-stock-subscription-1350.html

答案 3 :(得分:0)

我也有类似的要求,并且安装了“http://www.magentocommerce.com/magento-connect/product-out-of-stock-subscription-1350.html”这个插件。 那么这个插件可以完成这项任务,但是他们已经覆盖完整的产品视图页面模板,而不是简单地添加一个新块。通过这种方式,您在产品视图页面开发上的自定义开发可能会反映在前端。

否则这个插件绝对可以胜任。

答案 4 :(得分:0)

这个http://www.magentocommerce.com/magento-connect/product-out-of-stock-subscription-1350.html插件非常好,但它可以打破可配置的产品类型,它完全覆盖了产品控制器,使您的系统容易受到未来升级的影响。我认为观察者应该关注产品重新有库存的事件并且应该更新用户。