无论出于何种原因,突然之间我无法将产品添加到我在运行Magento 1.7.0.2的网站后端创建的订单中。我已经尝试了我能想到的一切(禁用APC,关闭javascript合并,关闭mod pagespeed,没有编译,禁用缓存等等。)
在Chome的Java调试器中,当我尝试创建新订单并添加产品时,我确实看到了很多DOMExceptions。
具体来自contentcript.js中的第3334行
var c = window.getSelection().getRangeAt(0).cloneContents().textContent;
在整个订单创建过程的其余部分,我在prototype.js和jquery.main.js中得到了一些我不确定这些是打算还是不应该被抛出。它们位于try / catch块中。
这真是一个巨大的痛苦,特别是因为我不知道为什么它似乎随机停止工作。我没有安装任何新的扩展程序,我已经尝试禁用我拥有的所有扩展程序。
我也看到Magento - Cannot add products to a manual order within backend of the Admin Panel有同样的问题,但我想是一个不同的解决方案,因为我尝试用Magento 1.7.0.2文件中包含的那个替换prototype.js。我从来没有修改过js文件。
答案 0 :(得分:1)
如果您之前没有更改过任何代码,则可能是您的托管服务提供商可能最近进行了升级或更新,从而导致奇怪的行为。
如果Chrome / Firefox停用所有插件/模块并使用隐身模式确保新的会话/ Cookie,请考虑尝试使用其他浏览器。
话虽如此,我还发现仅针对contentscript.js
进行搜索的主要是:http://developer.chrome.com/extensions/content_scripts.html
无论如何,我会采取一些步骤来帮助确定问题:
开发者模式:
启用Magento的开发者模式(index.php
或SetEnv .htaccess)
在管理员中启用所有系统,异常日志记录。 (系统 - >配置 - > - 显影剂> LOGSETTINGS)
默认主题
将主题/皮肤重置为基本/默认版本。
停用所有缓存
禁用缓存,刷新缓存存储,禁用JS / CSS合并。
既然您提到已经尝试过禁用模块,那么它是否包含社区代码池并启用了开发人员模式?
禁用本地模块:
通过etc/local.xml
停用第三方社区模块:
在disabled
下创建一个名为etc/Modules/
的新目录,将所有NON Magento标准模块XML定义移至禁用目录。
这些应该会让您回到Magento的库存版本和调试模式,以帮助确定问题发生的位置。确保并检查PHP的日志是否有任何奇怪之处。
Sonassi发布了一个类似于我在上面提到的好指南:https://magento.stackexchange.com/questions/428/fundamentals-for-debugging-a-magento-store/429#429
答案 1 :(得分:0)
我最终聘请开发人员来解决问题。
仅在启用付款方式“银行转帐付款”时才会发生。一个简单的解决方法就是禁用它。
如果您需要使用此付款方式,我的开发人员会将app / design / frontend / base / default / template / payment / form / banktransfer.phtml复制到app / design / adminhtml / default / default / template / payment / form / it works。
cp app/design/frontend/base/default/template/payment/form/banktransfer.phtml app/design/adminhtml/default/default/template/payment/form/
这适用于magento 1.7.0.2