2011-09-22 46 views
3

當前試圖讓onepage checkout在安裝Magento 1.6.0.0時正常工作。Magento onepage checkout上的「下訂單」按鈕沒有響應。 (Inline JS沒有執行。)

每個步驟都可以正常工作,直到最終審閱訂單框,地方訂單按鈕給出錯誤review not defined,試圖觸發review.save() OnClick事件。

以下腳本應創建此review對象。它與按鈕位於同一個文件中,並在用戶到達訂單流程的最後一步時通過AJAX調用。如果我直接訪問該文件,則會執行此代碼並創建對象,只有當它通過結帳頁面拉入時纔會運行。

<script type="text/javascript"> 
    //<![CDATA[ 
    review = new Review('http://example.org/checkout/onepage/saveOrder/', 'http://example.org/checkout/onepage/success/', $('checkout-agreements')); 
    SageServer = new EbizmartsSagePaySuite.Checkout 
    ({ 
    'checkout': checkout, 
    'review': review, 
    'payment': payment, 
    'billing': billing, 
    'accordion': accordion 
    }); 
    //]]> 
</script> 

我似乎無法找到任何人誰在遇到這個問題,每一個版本的代碼(由各種不同的模塊)做它用這種方式,所以我不知道爲什麼這個JS不正在執行。

有沒有人有任何想法?

+0

已經嘗試使用大寫的 'R',i.e.''review:回顧,'? –

+0

我當時試過,但這絕對是上述腳本沒有執行的情況。如果我向它添加警報,它將不會顯示,除非我直接查看該位代碼。當它被拉入結帳頁面時,它不會顯示。 –

回答

3

這是升級嗎?如果是這樣,試試這個:http://sree.cc/magento_ecommerce_tips/checkout-not-working-on-magento-version-1-4-x 即使它不是升級,也請試試。我用這個解決方案多次修復了完全相同的問題。

我會做差異。用像WinMerge這樣的軟件。檢查您的結帳設計文件夾和基礎Magento之間的差異。

應用程序/設計/前端/基/默認/模板/結帳 與 應用程序/設計/前端/默認/ YOUR_THEME /模板/結帳

還要檢查XML文件: 應用程序/設計/前端/base/default/layout/checkout.xml 與 app/design/frontend/default/YOUR_THEME/layout/checkout.xml

希望這會有所幫助。

弗朗索瓦

+0

一年之後纔看到這一點!我們找到了解決問題的方法,但不幸的是,我不記得我們做了什麼,但我相信客戶只是要求我們使用不同的結帳模塊,因此問題自行解決。不過,我將此標記爲答案,因爲鑑於問題的情況,我幾乎可以肯定這將解決問題。 –

0

我通過followwing代碼得到了同樣的問題的解決方案,這可能會幫助你。

替換基本文件以下路徑 應用程序/設計/前端/默認/ your_theme /模板/結帳/ onepage /評論/ info.phtml (或)

替換info.phtml的行號81 (''checkout/onepage/saveOrder',array('form_key'=> Mage :: getSingleton('core/session') - > getFormKey()))?>',' getUrl('checkout/onepage/success')?>',$('checkout-agreements'));

6

我們正在遷移到一個更新的Magento版本(1.8),並且「Place Order」按鈕也不適合我們。

Mukesh的answer指出我正確的方向。但是,發佈的代碼無法正常工作。

這爲我工作:

review = new Review('<?php echo $this->getUrl('checkout/onepage/saveOrder', array('form_key' => Mage::getSingleton('core/session')->getFormKey())) ?>', '<?php echo $this->getUrl('checkout/onepage/success') ?>', $('checkout-agreements'));  
+0

這就是我的問題所在。謝謝大衛。 – Navarr

+0

現貨! 謝謝! –

+0

在Magento 1.7安裝上應用補丁SUPEE 8788 v2後,這幫助我。這個修復程序的關鍵在於這個片段'array('form_key'=> Mage :: getSingleton('core/session') - > getFormKey())'。您必須在該補丁之後使用表單密鑰。 –

3

在應用程序/設計/前端/ mypackage中/ mytheme的/模板/結算/ onepage /審查/ info.phtml,我換成&工作GRT。

<?php echo $this->getChildHtml('button') ?> 

<button type="submit" title="<?php echo $this->__('Place Order') ?>" class="button btn-checkout" onclick="review.save();"><span><span><?php echo $this->__('Place Order') ?></span></span></button>