Ale*_*min 8 session magento cart
下订单后,无法将产品添加到购物车.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)
Run Code Online (Sandbox Code Playgroud)
如果我退出然后重新登录,一切正常,直到我发出另一个订单.
任何的想法?
----------------------编辑--------------------------
The错误似乎来自sales/order/controllers/OrderController.php,在$ cart-> save()的重新排序函数中;
和添加功能中的Checkout/controllers/CartController.php中的相同代码
看起来像我的购物车对象已损坏或其他东西.
----------------------编辑--------------------------
----------------------编辑#2 ------------------------- -
好吧,如果我评论行$ this-> getQuote() - > collectTotals(); 在Checkout/model/cart.php的保存功能中它似乎工作但没有显示该项目已添加到我的购物车.然后我放回代码行,一切正常.看起来像collectTotals()中出了问题......
---------------------- EDIT#2 ------------- -------------
谢谢!
这很可能是由第 3 方模块引起的问题,可能重写 Magento 模型或提供事件侦听器(我的首选猜测),其中包含一些未转义的(可能是直接的,不使用 Magento ORM 基础设施)SQL 查询。
作为快速调试,我建议您尝试禁用(不是通过管理员,这不起作用,因为它只是脱离渲染,而不是重写或事件侦听器,而是通过重命名第三方模块的“app/etc/modules/[Module_Name ].xml”文件更改为“app/etc/modules/[Module_Name].xml.disabled”之类的文件,因此 Magento 会忽略它)您拥有的每个第 3 方模块 - 一个接一个 - 直到您可以下订单。
一旦确定了负责的模块,您可以通过正确转义 SQL 查询中的字符串来找到修复程序,或者返回模块制造商要求为您提供修复程序。
您还可以尝试使用 xdebug 进行正确的调试,我强烈建议不要在生产环境中执行任何这些操作,因为可能会导致中断。
请注意,使用带有未转义值的原始 SQL 查询是一种安全威胁,因为它可能会导致 SQL 注入攻击。只要人们在您的网站上使用精心设计的 URL,您的客户数据就很容易被盗,或者您的数据库被黑客入侵。