請求先住所のステップで [続行] をクリックすると、ページは ajax ポスト リクエストを に送信しますMage_Checkout_OnepageController::saveBillingAction
。この関数は、フォーム データを見積もりに保存し、プロパティ「goto_section」、つまり「goto_section」:「shipping_method」を含む JSON オブジェクトを返すことになっています。ajax リクエストの成功関数は、このプロパティを取得し、次のステップを示します。
firebug デバッガーを使用しPOST /checkout/onepage/saveBilling
て、要素を持つ有効な JSON オブジェクトが返されるかどうかを確認することをお勧めしますgoto_section
。そうでない場合は、saveBilling 関数に問題があるはずです。Xdebug を使用し、その関数の先頭にブレークポイントを設定して、すべてが適切に処理されているかどうかを確認します。
もう 1 つの考えられる問題の原因は、サード パーティの拡張機能がチェックアウト ルーティング構成を書き換えていることです。あなたの店に容疑者はいませんか?それらを無効にして、問題が解決するかどうかをテストしてください。
saveBilling
アクションによって返される有効な JSON 文字列の例:
{"goto_section":"shipping_method","update_section":{"name":"shipping-method","html":" <dl class=\"sp-methods\">\r\n <dt>Flat Rate<\/dt>\r\n <dd>\r\n <ul>\r\n <li>\r\n <span class=\"no-display\"><input name=\"shipping_method\" type=\"radio\" value=\"flatrate_flatrate\" id=\"s_method_flatrate_flatrate\" checked=\"checked\" \/><\/span>\r\n <label for=\"s_method_flatrate_flatrate\">Fixed <span class=\"price\">$5.00<\/span> <\/label>\r\n <\/li>\r\n <\/ul>\r\n <\/dd>\r\n <\/dl>\r\n<script type=\"text\/javascript\">\r\n\/\/<![CDATA[\r\n var shippingCodePrice = {'flatrate_flatrate':5};\r\n \r\n $$('input[type=\"radio\"][name=\"shipping_method\"]').each(function(el){\r\n Event.observe(el, 'click', function(){\r\n if (el.checked == true) {\r\n var getShippingCode = el.getValue();\r\n var newPrice = shippingCodePrice[getShippingCode];\r\n if (!lastPrice) {\r\n lastPrice = newPrice;\r\n quoteBaseGrandTotal += newPrice;\r\n }\r\n if (newPrice != lastPrice) {\r\n quoteBaseGrandTotal += (newPrice-lastPrice);\r\n lastPrice = newPrice;\r\n }\r\n checkQuoteBaseGrandTotal = quoteBaseGrandTotal;\r\n return false;\r\n }\r\n });\r\n });\r\n\/\/]]>\r\n<\/script>\r\n"},"allow_sections":["shipping"],"duplicateBillingInfo":"true"}