1

質問

Magento版を使用しています。1.7.0.1 では、ユーザーがカートからアイテムを削除すると、カートが従来のようにチェックアウト ページに戻るのではなく、ホームページにリダイレクトされるという問題があります (アイテムがゼロの場合でも)。

バックグラウンド

ステージング サーバーのサブフォルダーにサイトをセットアップしましたが、完全に機能します。

これが起こるという2つの違いは何でしょうか? サーバー自体は非常に似ています。Ubuntu 10.04、PHP 5.3+ など

私はそれがパスの問題であるとしか考えられません(しかし、それを追跡する運はありません)

ここで「クイックフィックス」として提案されたものを試しましたが、残念ながらうまくいきませんでした。

4

2 に答える 2

2

ステージング サーバーではなくライブ サーバーでのみ発生しているため、コード関連の問題である可能性は低いと思われます。拡張機能 TamperData をインストールして有効にして、FireFox でアクションを実行してみてください。手順を進めていくと、サイトが送信しようとしている場所がよくわかるはずです。運が良ければ、そこに余分なリダイレクトが表示され、何が起こっているのかがすぐにクリックされます。それ以外では、ログが有効になっていることを確認し ([システム] > [構成] > [開発者] > [ログ設定])、実際にエラーが発生していないことを確認します。

deleteAction は _redirectReferer を呼び出して渡します*/*(これは になりますcheckout/cart)。_redirectReferer 関数は 3 つのパスに従います。

  1. リファラー URL がある場合は、そこにリダイレクトします。
  2. リファラー URL がないが、デフォルトの URL がある場合は、それにリダイレクトします
  3. それ以外の場合は、ホームページにリダイレクトします。

これらの事実に基づいて、ステップ 3 が発生しているとすぐに想定できますが、deleteAction が引数を渡しているため、ステップ 2 を通過することは不可能です。これは、常にデフォルトの URL が存在するためです。

于 2012-09-15T08:05:07.413 に答える