1

私のMagentoショップでは、OnepageチェックアウトとPaypalモジュールを有効にしています。一部の顧客が支払い方法としてPaypalオプションを選択し、注文を完了すると、Paypalサイトにリダイレクトされます(ここでは、Paypalにログインするか、Paypalゲストとしてチェックアウトするか、キャンセルして私のMagentoショップに戻ることができます)。お客様が最後の「キャンセルしてMagentoショップに戻る」を選択すると、標準のカートにリダイレクトされ、希望どおりに1ページのチェックアウトに移動しません。多分何かアドバイスはありますか?

ありがとうございました。

4

3 に答える 3

1

正確なディレクトリ構造を確認するために現在ドライブにMagentoがありませんが、PayPalチェックアウトモジュールでは、SetExpressCheckout呼び出しが行われたときにReturnURLの値を設定しています。

正しいURLを使用する独自のSECリクエストをオーバーライドするモジュールを作成する必要があります。または、ReturnURLを生成するためのメソッドがすでにある可能性があるため、オーバーライドするだけで済みます。

販売者が選択したチェックアウトタイプに基づいてURLを生成するロジックを作成できます。これは、販売者のコアモジュールにないもののようです。

于 2012-11-19T23:21:47.757 に答える
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(checkout / cart /)を修正しますか?

于 2012-11-20T12:01:37.380 に答える
0

私は解決策を見つけました、そして私はこの解決策が誰かが助けてくれることを願っています。

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

行番号152。リダイレクトコードがあります。次のように変更します。

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

これはあなたの仕事をします。

于 2012-12-03T14:57:33.017 に答える