在管理面板上搜索时,我只能找到用户应该注册/登录以获得有关库存可用性的通知.
但我只是想让用户(访客)只输入他/她的电子邮件地址以获得通知.
我该怎么做?
请给出建议..
编辑:
到目前为止我所做的是在我的模板文件中添加了以下代码,该文件正在为重定向创建一个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;
?>
在此之后,我去了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 extension和mailcatcher以简化测试过程.