繁体   English   中英

Magento:从结帐页面中删除 JavaScript

[英]Magento: Remove JavaScript from checkout page

我目前正在 Magento 中基于“单页结帐”创建一个结帐页面 - 或者好吧,我清空了 onepage.phtml 并从头开始。

下了订单什么的,但是用户永远不会来到第三方支付页面; 一些支付方式返回空白页,而其他支付方式返回错误代码“Error in Klarna::setConfig: Missing config field(s): secret”

我怀疑涉及一些丢失的 JavaScript,所以我的最后一个问题是:是否可以在没有 JavaScript 的情况下进行结帐,在这种情况下,如何进行?

如果相关,这是我用来创建订单的 PHP 代码(位于 onepage.phtml 的顶部)。

<?php
    $checkout = Mage::getSingleton('checkout/type_onepage');

    //STEP(1)
    $checkout->saveCheckoutMethod('guest');

    //STEP(2)
    $checkout->saveBilling($_POST['billing'], false);

    //STEP(3)
    $checkout->saveShipping($_POST, false);

    //STEP(4)
    $checkout->saveShippingMethod('flatrate_flatrate');

    //STEP(5)
    $checkout->savePayment($_POST['payment']);

    //STEP(6)
    $checkout->saveOrder();
?>

先感谢您!

是的,您可以在没有任何 JS 的情况下下订单。 为了在 savePayment 方法之后支持一些重定向 url 的付款方式,您必须添加以下行:

$redirectUrl = $checkout->getQuote()
   ->getPayment()
   ->getCheckoutRedirectUrl();
if ($redirectUrl) {
    return $this->getResponse()->setRedirect($redirectUrl);
}

在 saveOrder 之后添加:

$redirectUrl = $checkout->getRedirectUrl();
if ($redirectUrl) {
    $this->_redirect($redirectUrl);
}

您还必须使用 try {...} catch () {...} 块进行错误处理:

try {
   $checkout = Mage::getSingleton('checkout/type_onepage');

    //STEP(1)
    $checkout->saveCheckoutMethod('guest');

    //STEP(2)
    $checkout->saveBilling($_POST['billing'], false);

    //STEP(3)
    $checkout->saveShipping($_POST, false);

    //STEP(4)
    $checkout->saveShippingMethod('flatrate_flatrate');

    //STEP(5)
    $checkout->savePayment($_POST['payment']);

    //STEP(6)
    $checkout->saveOrder();
} catch (Mage_Core_Exception $e) {
    Mage::getSingleton('checkout/session')->addError($e->getMessage());
} catch (Exception $e) {
    Mage::logException($e);
    Mage::getSingleton('checkout/session')->addError(Mage::helper('checkout')->__('Unable to process your order. Please try again later'));
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM