2011-12-02 160 views
8

下訂單後,無法將產品添加到購物車。 Magento不斷告訴我:無法將商品添加到購物車。Magento:訂單後無法將產品添加到購物車

另外,如果我嘗試重新排序,我得到了一個錯誤:

SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1";i:1;s:2954:"#0 C:\wamp\www\ronamagento\trunk\lib\Zend\Db\Statement.php(300): Zend_Db_Statement_Pdo->_execute(Array) 

如果我註銷,然後重新登錄中,一切工作正常,直到我重新下訂單。

有什麼想法?

----------------------編輯----------------------- ---

這些錯誤似乎來自sales/order/controllers/OrderController.php,在$ cart-> save()中的重新排序函數中。
和Checkout/controllers/CartController.php中的add函數相同代碼
看起來像我的購物車對象壞了或者其他東西。

----------------------編輯------------------------ -

----------------------編輯#2 ------------------- -------

那麼,如果我註釋行$ this-> getQuote() - > collectTotals();在Checkout/model/cart.php的保存功能,它似乎工作,但不顯示該項目已添加到我的購物車。然後我放回代碼行,一切正常。似乎在collectTotals()中有什麼錯誤...

----------------------編輯#2 ---------- ----------------

謝謝!

+0

現在,你有沒有安裝任何擴展?如果是這樣,只需禁用或刪除這些extensins。 –

+0

是的我有幾個擴展安裝+創建了許多自定義模塊,但我試圖禁用它們全部,沒有成功 –

+0

同樣的問題,我got.i不知道如何進一步進一步。我的網站至少100個自定義modeules在那裏。任何人都可以幫助 – sivakumar

回答

0

這很可能是由第三方模塊引起的問題,可能是重寫Magento模型或提供一個事件監聽器(我的首選猜測)與一些未轉義的(可能是直接的,不使用Magento ORM基礎結構)SQL查詢。作爲一個快速調試,我建議你嘗試禁用(不通過管理員,這將無法正常工作,因爲它只是脫離渲染,而不是重寫或事件監聽器,但通過重命名第三方模塊的「應用程序/ etc /模塊/ [Module_Name] .xml「文件添加到類似於」app/etc/modules/[Module_Name] .xml.disabled「的文件中,這樣Magento就會忽略它)每個第三方模塊 - 一個接一個 - 直到您可以放置訂購。

確定負責的模塊後,您可以通過正確轉義SQL查詢中的字符串來找到修復程序,或返回模塊製造商,要求爲您提供修復程序。

您也可以嘗試使用xdebug進行適當的調試,並且我會極力阻止在生產環境中執行任何這些操作,因爲這可能會導致停機。

請注意,使用未轉義值的原始SQL查詢是安全威脅,因爲它可能會導致SQL注入攻擊。只有在網站上使用正確製作的網址的用戶才能輕易地竊取您的客戶數據或盜用您的數據庫。

相關問題