[英]magento newsletter success message popup
我要创建一个弹出消息框,该框在用户订阅新闻通讯后显示
“您的订阅已被确认[确定]”
它必须在javascript或jquery中,因为我只想在magento前端区域中对其进行修改
它类似于弹出此Magento新闻通讯成功消息的消息,但最终没有正确答案和无效链接
其他信息:我的Magento版本。 1.14.1.0
我有一些代码,并将其放在subscribe.phtml中,但它不起作用
<script type="text/javascript">
var formdata = {'email': jQuery('input[name=email]').val()};
jQuery(document).ready(function() {
jQuery('.btn-subs').click(function(){
jQuery.ajax({
method: "POST",
url: "<?php echo Mage::getBaseUrl() ?>newsletter/subscriber/new/",
data: formdata,
datatype: 'json'
})
.success(function( data ) {
alert( "Your Subscription has been confirmed" );
})
.error(function(data){
alert(data);
console.log(data);
})
});
});
</script>
Magento的内置通知系统非常完善,Inchoo对此进行了详尽的解释: http ://inchoo.net/magento/magento-frontend/utilizing-magento-notification-system/
我有点猜测这并不是您要查找的内容,因为您明确声明必须使用javascript或jquery完成。 您是否意识到,magento控制器操作可能基本上停留在同一页面上,但在订阅某人到新闻稿页面后添加了通知?
这篇文章( https://magento.stackexchange.com/questions/5063/reliable-way-to-redirect-to-last-page/5086 )帮助我实现了在没有重定向到其他页面的页面上获得通知,只是重新加载了同一页面。
如果您真的坚持只使用js / jquery,我的直觉是简单的警报就足够了。 默认情况下,这仅给您一个“确定”按钮,但是我自己看不到在动作完成后需要“取消”按钮,除非我猜想这会撤消对新闻简报的订阅。
如果不是这种情况,您能否提供更多有关您要实现的目标以及仅使用js / jquery 为何重要的信息?
亲切的问候,
汤姆
您可以异步发布到控制器(AJAX),但是默认情况下,它不会给您任何有意义的验证成功的信息。
您需要做的是扩展新闻通讯/订阅者/新的(不要更新核心文件,任何更新都将清除您的更改。)
这可能会有所帮助: http : //inchoo.net/dev-talk/how-to-extend-magento-core-controller/
基本上,您想要做的是创建一个新的控制器动作,该动作将执行现有控制器几乎所有的工作,但是,完成后它应该回显数据,以便前端解析在ajax响应中,而不是进行重定向。 另外,您将希望删除通常添加的会话成功消息。 (它们会在下一页加载时显示。)
因此,在现有控制器的基础上为新控制器建模:
应用程序/代码/核心/法师/新闻通讯/控制器/SubscriberController.php
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.