Magento /结账/ onepage /超时并重定向到/ checkout / cart /

时间:2015-12-18 10:49:30

标签: php magento timeout checkout magento-1.9

我们的网站存在很大问题,因为它是非交易性的并且已经存在了几天。它在/uk/checkout/onepage/上做了一个奇怪的时间,并且不会加载下一步。我的开发人员已经运行了各种测试,但他无法解决问题,因为他无法解决问题。

我会非常感谢任何人可以给我的任何帮助 - 谢谢。

此图片显示卡住的位置并重定向回https://www.thetelecomshop.com/uk/checkout/cart/

感谢任何人都能给我的信息。 : - )

enter image description here

1 个答案:

答案 0 :(得分:0)

我最终检查客户是否在事件观察者中呈现结帐页面之前已登录。如果未登录,我会在设置会话变量后将用户重定向到客户登录页面,以指示在登录后应将客户重定向到结帐。

  AsyncTaskRunner runner;
  DhcpInfo d;
public void resolveIp(){
    WifiManager wifii = (WifiManager) getSystemService(Context.WIFI_SERVICE);
    d = wifii.getDhcpInfo();
    runner = new AsyncTaskRunner();
    runner.execute();
}
public String intToIP(int i) {
    System.out.println("i="+i);
    String ip= ((i & 0xFF) + "." + ((i >> 8) & 0xFF) +
            "." + ((i >> 16) & 0xFF) + "." + ((i >> 24) & 0xFF));
    System.out.println("ip="+ip);
    return ip;
}

private class AsyncTaskRunner extends AsyncTask<String, String, String> {
    InetAddress host;
    @Override
    protected void onPreExecute() {
        super.onPreExecute();
    }

    @Override
    protected String doInBackground(String... params) {

        try {
                    String ddns1 = intToIP(d.dns1);
            host = InetAddress.getByName(ddns1);
            byte[]ip= host.getAddress();
            for (int j = 1; j <= 254; j++){
                ip[2]=(byte)j;
            for (int i = 1; i <= 254; i++) {
                ip[3] = (byte) i;
                InetAddress address = InetAddress.getByAddress(ip);
                if (!address.getHostAddress().equals(address.getHostName())) {
                    System.out.println("address="+address.getHostName()+" "+address.getHostAddress());
                }
            }
        }
        } catch (UnknownHostException e1) {
            e1.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "";
    }
    @Override
    protected void onPostExecute(String s) {
        super.onPostExecute(s);
    }

}

然后,在客户登录后执行:

$session = Mage::getSingleton('customer/session');
if($session->isLoggedIn())
{
     $session->setData('redirect_to_checkout', true);
     Mage::app()->getResponse()->setRedirect(Mage::getUrl('customer/account/login'));
}

我之所以这样做,是因为我无论如何都为客户制作了自定义注册表单,我无法设置

  

系统 - &gt;销售 - &gt;结帐“要求客户登录结帐”为“否”。