11

我正在使用 Magento 1.4 测试一个 Magento 1.3 站点。我看到非常奇怪和不一致的行为。Magento 没有包含我的 javascript 文件的 URL,而是使用 js 文件的完整文件系统路径创建标签,如下所示:

<script type="text/javascript" src="/home/my_username/public_html/js/prototype/prototype.js"></script>

我相信这与新的“主题 JavaScript 和 CSS 文件合并为一个文件”功能有关。事实上,当我登录管理员并点击“Flush JavaScript/CSS Cache”时,第一个页面加载成功,我看到单个 JS 包含类似于:

<script type="text/javascript" src="/media/js/5b8cfac152fcb2a5f93ef9571d338c54.js"></script>

但是随后的年龄加载会加载每个带有完整路径名的 JS 文件。这显然是行不通的。有人对可能出现的问题或如何解决此问题有任何想法吗?

4

10 回答 10

11

就我而言,这是权限问题。这些 ssh 命令在 Magento 的根目录中运行,修复了它:

    # chown all to proper user and group, ie. www-data
    chown -R www-data:www-data *
    # change all files permissions to 644
    find . -type f -exec chmod 644 {} \;
    # change all directories permissions to 755
    find . -type d -exec chmod 755 {} \;
    # change all to be writable in var and media directories
    chmod -R 777 var/ media/

如果它仍然不起作用,则将 MySQL 中 core_config_data 中路径列的这两个值从“1”更改为“0”:

  • 开发/css/merge_css_files
  • 开发/js/merge_files
于 2013-01-21T13:28:00.243 回答
9

转到系统 -> 配置 -> 开发人员设置 -> Javascript 设置 -> 合并 JavaScript 文件(测试版)并将其设置为“否”。它真的是一个测试版:D

于 2010-02-15T16:23:54.830 回答
9

编辑 config.xml 对我没有用,我不得不在数据库中禁用它。

在表“ core_config_data ”中,将路径为“ dev/js/merge_files ”(config_id 772)的行的值设置为“ 0 ”。

感谢您为我指明正确的方向!

于 2010-02-25T01:35:40.130 回答
8

我遇到了同样的问题,并提出了以下解决方案:

  1. 验证 media/js 上的权限是否属于与 magento 安装文件夹相同的用户。
  2. 使用管理员清理 CSS/JS 缓存。

两者的结合实际上使事情恢复了正常。

于 2010-03-18T03:35:15.033 回答
4

检查您的媒体文件夹是否可由您运行网络服务器的用户写入。我有一个指向只能由 root 写入的文件夹的符号链接

chown -R www-data:www-data media

帮助。

于 2011-10-18T11:01:44.953 回答
1

编辑 config.xml 对我没有用,我不得不在数据库中禁用它。

在表core_config_data中使用 path 设置行的值dev/js/merge_files (config_id 772) to '0'

感谢您为我指明正确的方向!

这个解决方案对我有用,谢谢。

于 2010-05-14T05:21:50.637 回答
1

我有同样的问题。

这是因为 magento 找不到 javascript 文件。查看您的 /var/log/exception.log (您必须在系统 -> 配置 -> 开发人员选项中启用日志)

在我的日志中出现以下错误:

带有消息“警告”的异常“异常”:filemtime()[function.filemtime]:/var/www/js/calendar/lang/calendar-en.js 在/var/www/app/code/core/Mage 中的统计失败/Core/Helper/Data.php 在 /var/www/app/code/core/Mage/Core/functions.php:245 中的第 631 行

所以我创建了文件,瞧,它可以工作了!

于 2010-05-19T12:20:06.993 回答
0

配置中“Web”下的各种基本 URL 字段的值是什么?应该是类似的东西

{{unsecure_base_url}}skin/

用于基本皮肤 URL。

于 2010-01-27T01:37:34.597 回答
0

该问题与 javascript 合并选项有关。不幸的是,如果没有 javascript,该表单将无法工作。您必须将 app/code/core/Mage/Core/etc/config.xml 中的 merge_files 选项更改为 0。

        <js>
            <merge_files>0</merge_files>
            <deprecation>0</deprecation>
        </js>

之后,我删除了 var 目录中的所有缓存文件和会话文件。

于 2010-02-19T17:58:10.077 回答
0

在 magento 1.4 中,config_id 是 879(对我来说) 将此值设置为 0 会返回我所有的 .js 文件。超级怪

于 2011-03-18T19:45:32.520 回答