1

无论出于何种原因,突然间我无法将产品添加到我在运行 Magento 1.7.0.2 的网站后端创建的订单中。我已经尝试了我能想到的一切(禁用 APC、javascript 合并关闭、mod pagespeed 关闭、不编译、禁用缓存等)。

在 Chome 的 Java 调试器中,当我尝试创建新订单和添加产品时,我确实看到了很多 DOMExceptions 被抛出。

特别是 contentscript.js 中的第 3334 行

var c = window.getSelection().getRangeAt(0).cloneContents().textContent;

在订单创建过程的其余部分中,我在prototype.js 和jquery.main.js 中得到了一些我不确定这些是有意的还是不应该抛出的。它们位于 try/catch 块中。

这真的是一个很大的痛苦,特别是因为我不知道为什么它似乎只是随机停止工作。我没有安装任何新的扩展,我已经尝试禁用我拥有的所有扩展。

我还看到了 Magento - 无法在管理面板的后端将产品添加到手动订单中,这有同样的问题,但我猜想是一个不同的解决方案,因为我尝试用 Magento 1.7.0.2 文件中包含的那个替换prototype.js。我从来没有修改过js文件。

4

2 回答 2

1

如果您知道之前没有更改任何代码,则您的托管服务提供商可能最近进行了升级或更新,从而导致了奇怪的行为。

如果 Chrome/Firefox 禁用所有插件/模块并使用隐身模式来确保新的会话/cookie,还可以考虑尝试不同的浏览器。

话虽如此,我还发现搜索contentscript.js主要围绕:http: //developer.chrome.com/extensions/content_scripts.html

无论如何,我将采取一些步骤来帮助确定问题:

开发者模式:

启用 Magento 的开发人员模式(index.php或 SetEnv .htaccess) 在管理员中启用所有系统、异常日志记录。(系统->配置->开发者->日志设置)

默认主题

将您的主题/皮肤重置为基本/默认版本。

禁用所有缓存

禁用缓存、刷新缓存存储、禁用 JS/CSS 合并。

既然您提到已经尝试禁用模块,那是否包括社区代码池和启用开发人员模式?

禁用本地模块:

通过禁用本地代码池etc/local.xml

禁用第 3 方社区模块:

在将所有非 Magento 标准模块 XML 定义移动到禁用目录disabled下创建一个名为的新目录。etc/Modules/

这些应该让您回到 Magento 的库存版本和调试模式,以帮助确定问题发生在哪里。一定要检查 PHP 的日志是否有任何奇怪的地方。

Sonassi 发布了一个很好的指南,类似于我上面提到的内容:https ://magento.stackexchange.com/questions/428/fundamentals-for-debugging-a-magento-store/429#429

于 2013-08-22T06:50:37.217 回答
0

我最终聘请了一名开发人员来发现问题。

仅在启用“银行转账付款”付款方式时才会发生。一个简单的解决方法是禁用它。

如果您需要使用这种付款方式,我的开发人员发现,如果您将 app/design/frontend/base/default/template/payment/form/banktransfer.phtml 复制到 app/design/adminhtml/default/default/template/payment/form/有用。

cp app/design/frontend/base/default/template/payment/form/banktransfer.phtml app/design/adminhtml/default/default/template/payment/form/

这是针对 magento 1.7.0.2

于 2013-08-26T17:59:24.773 回答