Почему Magento 1.4 включает файлы javascript по пути файловой системы? - PullRequest
11 голосов
/ 26 января 2010

Я в процессе тестирования сайта Magento 1.3 с использованием Magento 1.4. Я вижу очень странное и непоследовательное поведение. Вместо того, чтобы включать URL моих javascript-файлов, Magento создает теги с полным путем к файловой системе js-файлов, например:

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

Я полагаю, что это связано с новой функцией "Темы JavaScript и CSS-файлы, объединенные в один файл". Фактически, когда я вхожу в администратор и нажимаю «Очистить кэш JavaScript / CSS», загрузка первой страницы проходит успешно, и я вижу, что один JS-файл включает в себя:

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

Но последующие возрастные загрузки загружают каждый файл JS с полными путями. Что, очевидно, не сработает. У кого-нибудь есть идеи о том, что может быть не так или как решить эту проблему?

Ответы [ 10 ]

11 голосов
/ 21 января 2013

Это была проблема с разрешениями в моем случае. Эти команды 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/

Если это все еще не работает, измените эти два значения для столбца пути в core_config_data в MySQL с "1" на "0":

  • DEV / CSS / merge_css_files
  • DEV / JS / merge_files
9 голосов
/ 15 февраля 2010

Перейдите в Система -> Конфигурация -> Настройки разработчика -> Настройки Javascript -> Объединить файлы JavaScript (бета) и установите для него значение «Нет». Это действительно бета: D

8 голосов
/ 18 марта 2010

У меня была такая же проблема, и я нашел следующее решение:

  1. Убедитесь, что разрешения для media / js принадлежат тому же пользователю, что и папка установки magento.
  2. Очистите кеш CSS / JS с помощью администратора.

Комбинация двух фактически вернула вещи в норму.

8 голосов
/ 25 февраля 2010

Редактирование config.xml не помогло мне, мне пришлось отключить его в базе данных.

В таблице ' core_config_data ' установить значение строки с путем ' dev / js / merge_files ' (config_id 772) в значение 0 .

Спасибо, что указали мне правильное направление, хотя!

4 голосов
/ 18 октября 2011

Убедитесь, что папка мультимедиа доступна для записи пользователю, с которым работает веб-сервер. У меня была символическая ссылка на папку, доступную для записи только пользователю root

chown -R www-data:www-data media

помогли.

1 голос
/ 19 мая 2010

У меня была такая же проблема.

Это потому, что 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 в строке 631 'в /var/www/app/code/core/Mage/Core/functions.php:245

Итак, я создал файл и вуаля, он работает!

1 голос
/ 14 мая 2010

Редактирование файла config.xml не помогло мне, мне пришлось отключить его в базе данных.

В таблице core_config_data установить значение строки с путем dev/js/merge_files (config_id 772) to '0'.

Спасибо, что указали мне правильное направление!

Это решение работает для меня, спасибо.

0 голосов
/ 18 марта 2011

в magento 1.4 config_id равен 879 (для меня) Установка этого значения в 0 вернула мне все мои файлы .js. Супер странно

0 голосов
/ 19 февраля 2010

Проблема связана с опцией слияния JavaScript. К сожалению, форма не работает без JavaScript. Вы должны изменить параметр merge_files в app / code / core / Mage / Core / etc / config.xml на 0.

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

После этого я удалил все файлы кеша и файлы сессий в каталоге var.

0 голосов
/ 27 января 2010

Каковы значения для различных полей базового URL-адреса в разделе «Сеть» в конфигурации? Должно быть что-то вроде

{{unsecure_base_url}}skin/

для базового URL скина.

...