首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Magento OnePageCheckout在“点菜”后重定向

Magento OnePageCheckout在“点菜”后重定向
EN

Stack Overflow用户
提问于 2012-05-18 12:39:44
回答 1查看 4.4K关注 0票数 1

有人能帮我解决以下问题吗。

一旦一个客户在onepagecheckout点击“现在订单”按钮,我想显示一个定制页面2-3秒,并转发到付款提供商或感谢您的页面。

目前,我在"checkout_type_onepage_save_order_after“上有一个观察者在调用我的自定义模型/方法。

在这个模型/方法中我做了一个..。

代码语言:javascript
复制
$this->_forward($url); //with $url being a custom controller/method
$res->sendResponse();
exit;

在这个自定义控制器/方法中,我加载和呈现我的布局,显示我的*.phtml文件,然后.

代码语言:javascript
复制
$url = Mage::getUrl("???");
$this->_forward($url);<
$res = Mage::app()->getResponse();
$res->sendResponse();

这就是我迷失的地方(也许我在整件事上完全错了)。首先,控制器根本不转发(无论给出什么url或控制器)。第二,我如何知道重定向到哪里(如果它的支付提供商或感谢您页面)

是否有更好的方法“简单地”加载一个*.phtml后,用户点击“现在订单”,在他被重定向到感谢页面或付款提供商。

phtml是用户来加载跟踪代码,这些代码必须放在html中并加载。

EN

回答 1

Stack Overflow用户

发布于 2012-08-05 00:57:00

相反,我建议你考虑做以下工作:

  • 向订单评审中的place按钮添加javascript操作,这将有效地发出屏幕中的模式或弹出
  • ,发出该模式的单击将设置3000 of的超时时间(3秒),这将触发Magento使用的订单提交Ajax。这一点很重要,因为订单提交和重定向依赖于AJAX.

这个示例jQuery脚本(需要将jQuery添加到您的Magento站点,这是不标准的)将设置超时,发出模式/弹出--我将将此代码添加到以下文件:

/app/design/frontend/[your theme]/template/checkout/onepage/review/button.phtml

在这一行中添加一个类并删除onclick事件,这样您就可以捕获单击并插入超时:

代码语言:javascript
复制
<button type="submit" title="<?php echo $this->__('Place Order') ?>" class="btn-place-order button btn-checkout"><span><span><?php echo $this->__('Place Order') ?></span></span></button>

<script>
    $('#myform').submit(function(event) {
        event.preventDefault();
        //issue the popup - put your html in here:
        var html = '<div style="position:absolute; top:0; left:0; min-height: 100%; width: 100%; background-color:white;"><h1>I am a popup</h1></div>';
        $('body').append(html);
        var self = this;
        window.setTimeout(function() {
        review.save();
        }, 3000);
    });
</script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10652815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档