Почему Magento 1.4 включает файлы javascript по пути файловой системы?

Я тестирую сайт 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 файлы в одном файле". Фактически, когда я вхожу в админ и нажимаю "Flush JavaScript/CSS Cache", то загрузка первой страницы будет успешной, и я вижу, что один JS похож на:

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

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

Ответ 1

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

Ответ 2

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

Ответ 3

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

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

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

Ответ 4

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

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

Сочетание двух фактически вернулось к нормальному.

Ответ 5

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

chown -R www-data:www-data media

помог.

Ответ 6

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

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

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

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

Ответ 7

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

Потому что magento не может найти файл javascript. Посмотрите на свой /var/log/exception.log(вам нужно включить журнал в System → Config → Developer Options)

В моем журнале произошла ошибка:

исключение "Исключение" с сообщением "Предупреждение: filemtime() [function.filemtime]: сбой stat для /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

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

Ответ 8

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

{{unsecure_base_url}}skin/

для базового URL-адреса.

Ответ 9

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

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

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

Ответ 10

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