0

我在具有测试子域的同一台服务器上克隆了现有的 magento 1.7.2 安装。前端似乎工作,我可以登录到管理员。但是,管理菜单不起作用,没有下拉菜单,并且复制 url 路径也不起作用。我在网上搜索过,大多数答案可以追溯到 2008 年,并表明这是一个配股。所以我已将文件夹和文件的权限更改为 755 和 644,但仍然没有工作菜单。缓存(var/cache)为空。

这些菜单是 javascript 生成的。以下错误消息来自控制台:

Error: TypeError: Element.addClassName is not a function

需要明确的是 - 解决方案不在 javascript 中,而是在服务器上。此安装适用于具有另一个域的另一个目录中的同一台服务器。

任何想法如何解决这一问题?

4

4 回答 4

2

错误

Error: TypeError: Element.addClassName is not a function

表示您页面上的某些 javascript 无法调用该addClassName方法。

addClassName方法通过prototypejavascript 框架添加到元素中。

这意味着您的浏览器很可能无法下载该prototype.js文件。由于它无法下载此文件,因此addClassName永远不会定义该方法,并且您会收到您所看到的错误。

查看管理页面的源代码并找到包含您的 Magento 版本附带的 prototpye 版本的脚本标签。

<script type="text/javascript" src="http://magento.example.com/js/prototype/prototype.js"></script>

从此脚本标签中获取 URL 并将其加载到浏览器中。

我的猜测是你会得到一个 404,因为文件丢失,或者一个禁止的错误,因为文件的权限不正确,或者其他一些阻止文件显示的 Web 服务器错误。该链接也可能指向一个旧域名,该域名基于在 Magento 中配置或缓存的值。

找出问题的根源,你会很高兴的。

于 2013-05-03T16:03:34.560 回答
0

另一个原因可能是皮肤和 CSS 规则不适合您的环境。

我刚刚将一个站点从 live 移动到本地,并且 skin/css/media 被配置为一个子域,所以我查看了 core_config_data 表并更新了 URL

于 2015-11-11T15:55:28.570 回答
0

请检查您是否已将合并 js 或 css 设置为是,如果您不能通过菜单进行更新,您可以通过 db 进行更新:

SELECT * FROM core_config_data WHERE path LIKE 'dev%'

从 1 更改为 0 merge_css 和 merge_js

于 2018-03-30T02:57:00.307 回答
-1

就我而言,我已经更改了文件夹及其重复文件和文件夹的权限,它开始工作了。试一次。

于 2014-08-18T07:26:28.960 回答