无法将产品添加到后端创建的新订单中

时间:2013-08-20 16:57:59

标签: php javascript magento magento-1.7 product

无论出于何种原因,突然之间我无法将产品添加到我在运行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文件。

2 个答案:

答案 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