编程语言
首页 > 编程语言> > php – 获取库存不可用的通知

php – 获取库存不可用的通知

作者:互联网

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

在管理面板上搜索时,我只能找到用户应该注册/登录以获得有关库存可用性的通知.

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

我该怎么做?

请给出建议..

编辑:

我有这个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(),它使用$model-> save();来调用注册/登录表单(我想是这样).

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

解决方法:

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

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

>将电子邮件列添加到product_alert_stock表
>创建新的控制器和操作(相信我,它比通过config.xml覆盖现有的控制器更好),它扩展了Mage_ProductAlert_AddController :: stockAction().您的方法必须将访客的电子邮件设置为productalert / stock模型.
>创建订阅表单并确保将数据提交给新的控制器/操作.
>更新(覆盖)Mage_ProductAlert_Model_Observer :: _ processStock()方法,使其尊重“客户”没有身份证但有电子邮件的情况.

当您进行测试时,我建议您安装SMTP Pro Email extensionmailcatcher以简化测试过程.

标签:php,ajax,magento,stock,magento-1-8
来源: https://codeday.me/bug/20190529/1176000.html