1

在我的 Magento 商店中,我启用了 Onepage 结帐和 Paypal 模块。当一些客户选择 Paypal 选项作为付款方式并完成订单时,他们将被重定向到 Paypal 站点(在这里您可以登录到 Paypal 或以 paypal 访客身份结帐或取消并返回我的 magento 商店)。当客户选择最后一个“取消并返回我的 magento 商店”时,他们将被重定向到标准购物车,而我不会按照我的意愿进行 Onepage 结帐。也许有什么建议?

谢谢你。

4

3 回答 3

1

我在 app\code\core\Mage\Checkout\controllers\ 中找到了这个

protected function _goBack()
{
    $returnUrl = $this->getRequest()->getParam('return_url');
    if ($returnUrl) {
        // clear layout messages in case of external url redirect
        if ($this->_isUrlInternal($returnUrl)) {
            $this->_getSession()->getMessages(true);
        }
        $this->getResponse()->setRedirect($returnUrl);
    } elseif (!Mage::getStoreConfig('checkout/cart/redirect_to_cart')
        && !$this->getRequest()->getParam('in_cart')
        && $backUrl = $this->_getRefererUrl()
    ) {
        $this->getResponse()->setRedirect($backUrl);
    } else {
        if (($this->getRequest()->getActionName() == 'add') && !$this->getRequest()->getParam('in_cart')) {
            $this->_getSession()->setContinueShoppingUrl($this->_getRefererUrl());
        }
        $this->_redirect('checkout/cart');
    }
    return $this;
}

您是否想修改此代码以更正 URL(结帐/购物车/)?

于 2012-11-20T12:01:37.380 回答
1

我的驱动器上现在没有 Magento 来查看确切的目录结构,但是在 PayPal 结帐模块中,当调用 SetExpressCheckout 时,他们正在为 ReturnURL 设置一个值。

您需要编写一个模块来使用您自己的使用正确 URL 的模块来覆盖他们的 SEC 请求,或者他们可能已经有专门用于生成 ReturnURL 的方法,因此您可以直接覆盖它。

您可以创建一些逻辑来根据商家选择的结帐类型生成 URL,这似乎是他们的核心模块所缺少的。

于 2012-11-19T23:21:47.757 回答
0

我找到了解决方案,我希望这个解决方案有人帮助。

在 app\code\core\Mage\Paypal\Controller\Express\Abstract.php

行号 152。有重定向代码。将其更改为以下。

  $this->_redirect('checkout/onepage/');

这将完成你的工作。

于 2012-12-03T14:57:33.017 回答