为什么Magento 1.4包含文件系统路径的javascript文件?

Jos*_*osh 11 javascript relative-path minify magento

我正在使用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>
Run Code Online (Sandbox Code Playgroud)

我相信这与新的"主题JavaScript和CSS文件组合到一个文件"功能有关.事实上,当我登录到管理,并单击"刷新的JavaScript/CSS缓存",然后在第一页加载成功,我看到一个JS包括类似于:

<script type="text/javascript" src="/media/js/5b8cfac152fcb2a5f93ef9571d338c54.js"></script>
Run Code Online (Sandbox Code Playgroud)

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

mar*_*nce 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/
Run Code Online (Sandbox Code Playgroud)

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

  • 开发/ CSS/merge_css_files
  • 开发/ JS/merge_files


小智 9

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


小智 8

编辑config.xml对我来说不起作用,我不得不在数据库中禁用它.

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

谢谢你指出我正确的方向!


Avi*_*efi 8

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

  1. 验证media/js上的权限是否属于magento安装文件夹所在的用户.
  2. 使用admin清理CSS/JS缓存.

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