Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Модуль MCJ - Автоматическое объединение и сжатие CSS, JS + smartoptimizer [Поддержка]


Recommended Posts

День добрый

сегодня сменил хостинг, и на новом хостинге при сжатии и минимизации css пути до картинок стали абсолютными, вида: /home/u47.... 

почему так? где что неверно выставил?

Надіслати
Поділитися на інших сайтах


День добрый

сегодня сменил хостинг, и на новом хостинге при сжатии и минимизации css пути до картинок стали абсолютными, вида: /home/u47.... 

почему так? где что неверно выставил?

 

Алгоритм просчета относительного пути из абсолютного, который в свою очередь генерируется из относительного и берется из оригинальных CSS файлов не работает при неправильном $_SERVER['document_root'] в PHP. Не первый раз такое. Проверьте $_SERVER['document_root'] он должен указывать на корень сайта. Если указывает именно на корень сайта, то придется немного переписать алгоритм для Вашего сайта. Это бесплатно.

Змінено користувачем halfhope
Надіслати
Поділитися на інших сайтах

как это проверить?

 

в ерроре пошли нотайсы:

 

2015-09-14 15:58:58 - PHP Notice:  Undefined index: DOCUMENT_ROOT in /home/u47.../www/system/library/mcj/mcj.class.php on line 1078

2015-09-14 15:58:58 - PHP Notice:  Undefined index: DOCUMENT_ROOT in /home/u47.../www/system/library/mcj/mcj.class.php on line 1078

2015-09-14 15:58:58 - PHP Notice:  Undefined index: DOCUMENT_ROOT in /home/u47.../www/system/library/mcj/mcj.class.php on line 1078

2015-09-14 15:58:58 - PHP Notice:  Undefined index: DOCUMENT_ROOT in /home/u47.../www/system/library/mcj/mcj.class.php on line 1078

Надіслати
Поділитися на інших сайтах


 

как это проверить?
 
в ерроре пошли нотайсы:
 
2015-09-14 15:58:58 - PHP Notice:  Undefined index: DOCUMENT_ROOT in /home/u47.../www/system/library/mcj/mcj.class.php on line 1078
2015-09-14 15:58:58 - PHP Notice:  Undefined index: DOCUMENT_ROOT in /home/u47.../www/system/library/mcj/mcj.class.php on line 1078
2015-09-14 15:58:58 - PHP Notice:  Undefined index: DOCUMENT_ROOT in /home/u47.../www/system/library/mcj/mcj.class.php on line 1078
2015-09-14 15:58:58 - PHP Notice:  Undefined index: DOCUMENT_ROOT in /home/u47.../www/system/library/mcj/mcj.class.php on line 1078

 

 

Проверить можно через скрипт:

<?php phpinfo(); ?> 

После открытия phpinfo нажмите поиск в браузере [Ctrl+F], Введите DOCUMENT_ROOT, если его нет или указана не корневая директория сайта, то в PHP.INI (если к нему есть доступ) нужно указать DOCUMENT_ROOT вручную. Либо в начало файла index.php вставьте:

<?php
// let's make sure the $_SERVER['DOCUMENT_ROOT'] variable is set
if(!isset($_SERVER['DOCUMENT_ROOT'])){ if(isset($_SERVER['SCRIPT_FILENAME'])){
$_SERVER['DOCUMENT_ROOT'] = str_replace( '\\', '/', substr($_SERVER['SCRIPT_FILENAME'], 0, 0-strlen($_SERVER['PHP_SELF'])));
}; };
if(!isset($_SERVER['DOCUMENT_ROOT'])){ if(isset($_SERVER['PATH_TRANSLATED'])){
$_SERVER['DOCUMENT_ROOT'] = str_replace( '\\', '/', substr(str_replace('\\\\', '\\', $_SERVER['PATH_TRANSLATED']), 0, 0-strlen($_SERVER['PHP_SELF'])));
}; };
// $_SERVER['DOCUMENT_ROOT'] is now set - you can use it as usual...
?>

Этот код должен сам сгенерировать DOCUMENT_ROOT для текущего контекста. P.S. этот код не проверял. Если не сработает, пришлите данные для соединения по FTP и в админку, найду решение.

Надіслати
Поділитися на інших сайтах

Здравуствуйте.

После установки белый экран. Все четко по инструкции.

 

Добрый день.

 

На вкладке JavaScript, в поле позиция вставки JS укажите "\<\/body>\" без кавычек. Markimax, это проблема скрипта-установщика, который добавляет дефолтные значения в БД. Там данные слешированы, а он их убирает или наоборот)

 

Змінено користувачем halfhope
Надіслати
Поділитися на інших сайтах

 

Это поле в админке искать? )

 

И вот такая ошибка на главной Notice: Undefined property: mcj_opencart::$output in

 

Вас нет в списке купивших. Смотрите начало темы поддержки. Увы, Вам ничем больше помочь не могу.

Надіслати
Поділитися на інших сайтах

У меня во всех обработанных файлах js стоит только такая строка без самого кода.С CSS работает нормальноЧто с этим делать?/*! _[catalog/view/javascript/jquery.darktooltip.min.js]_ */

т.к. для каждого файла тупо его адрес прописан

Змінено користувачем websport24
Надіслати
Поділитися на інших сайтах


У меня во всех обработанных файлах js стоит только такая строка без самого кода.С CSS работает нормальноЧто с этим делать?/*! _[catalog/view/javascript/jquery.darktooltip.min.js]_ */

т.к. для каждого файла тупо его адрес прописан

 

 

Это необходимо для работы менеджера кэша. В каждом созданном модулем CSS или JS файле записан путь и название файлов, которые он содержит. 

Надіслати
Поділитися на інших сайтах

Проблема в том что кроме этого там ничего не записано

Именно для js

 

Скорей всего проблема в google closure compiler. Для сжатия с помощью него используется онлайн-сервис у него есть ограничение на кол-во подключений в час. Я немного увеличил лимиты в версии 1.4, но они есть и иногда могут быть превышены. 

 

Попробуйте удалить этот файл, при заходе на страницу, где он используется MCJ поймет что его нет и сгенерирует снова. Затем проверьте содержимое файла, если он снова останется пустым, то переключите минимизатор на JSMin и снова удалите файл.

Змінено користувачем halfhope
Надіслати
Поділитися на інших сайтах

Скорей всего проблема в google closure compiler. Для сжатия с помощью него используется онлайн-сервис у него есть ограничение на кол-во подключений в час. Я немного увеличил лимиты в версии 1.4, но они есть и иногда могут быть превышены. 

 

Попробуйте удалить этот файл, при заходе на страницу, где он используется MCJ поймет что его нет и сгенерирует снова. Затем проверьте содержимое файла, если он снова останется пустым, то переключите минимизатор на JSMin и снова удалите файл.

Спасибо что оперативно отвечаете!

Он почему-то считает jquery-1.7.1.min.js inline скриптом и переносит его вниз под все скрипты.

Я его как исключение поставил.

 

У меня он объявлен

<script type="text/javascript" src="view/javascript/jquery/jquery-1.7.1.min.js"></script>

 

Внизу становится

<script src="catalog/view/javascript/jquery/jquery-1.7.1.min.js" ></script>

Змінено користувачем websport24
Надіслати
Поділитися на інших сайтах


Спасибо что оперативно отвечаете!

Он почему-то считает jquery-1.7.1.min.js inline скриптом и переносит его вниз под все скрипты.

 

Попробуйте убрать галочку "Использовать CDN для JQuery". С такой проблемой еще не встречался. Либо, если критично, замените код объявления JQuery на CDN код, который генерирует модуль.

Надіслати
Поділитися на інших сайтах

Спасибо что оперативно отвечаете!

Он почему-то считает jquery-1.7.1.min.js inline скриптом и переносит его вниз под все скрипты.

Я его как исключение поставил.

 

У меня он объявлен

<script type="text/javascript" src="view/javascript/jquery/jquery-1.7.1.min.js"></script>

 

Внизу становится

<script src="catalog/view/javascript/jquery/jquery-1.7.1.min.js" ></script>

 

Попробуйте поставить пробел:

<script type="text/javascript" src="view/javascript/jquery/jquery-1.7.1.min.js"[пробел]></script>
Надіслати
Поділитися на інших сайтах

Спасибо большое, проблема решена.

Для <script type="text/javascript" src="view/javascript/jquery/jquery-1.7.1.min.js"></script>

Было действительно: <script src="view/javascript/jquery/jquery-1.7.1.min.js" ></script>

И модуль понял как inline.

А я когда проверял ткнул файл админки случайно.

 

Модуль хорош! Спасибо за помощь!

Надіслати
Поділитися на інших сайтах


Уже не к модулю, но тоже касаемо его:

на статику у меня стоит nginx с gzip сжатием (gzip  on;) на динамику apache

Если я указываю

location ~* ^.+\.(js|css|jsgz|cssgz)$ {
expires      7d;
}

То происходит повторное gzip сжатие на nginx как я понимаю.

Вообщем после этого браузер не грузит таблицы стилей. Наверное обработать не может.

Как тут правильно сделать не знаете?

Надіслати
Поділитися на інших сайтах


Уже не к модулю, но тоже касаемо его:

на статику у меня стоит nginx с gzip сжатием (gzip  on;) на динамику apache

Если я указываю

location ~* ^.+\.(js|css|jsgz|cssgz)$ {
expires      7d;
}

То происходит повторное gzip сжатие на nginx как я понимаю.

Вообщем после этого браузер не грузит таблицы стилей. Наверное обработать не может.

Как тут правильно сделать не знаете?

 

cssgz и jsgz уберите, это уже сжатые файлы. И галочку "Использовать статическое Gzip сжатие: " уберите.

Змінено користувачем halfhope
Надіслати
Поділитися на інших сайтах

Их можно вообще не включать, эту функцию я добавил потому что на некоторых серверах статичные cssgz и jsgz отдавались быстрей, но процент этих серверов - 10. Так что статичные уже сжатые файлы - сомнительная функция в этом модуле.

Надіслати
Поділитися на інших сайтах

Спасибо, помогли и с этим.

А как можно оптимизировать изображения? (о чём говорит PageSpeed Insights)

Надо другую библиотеку использовать для сжатия?

 

Теперь единственное что осталось возможным исправить: так это уменьшить время генерации страницы(у меня 0,26сек)

Вам бы это в модуль добавить и вообще можно дорого продавать. Вы очень низкую цену за такую работу и поддержку поставили.

Но тут я сам уже решение нашёл

Змінено користувачем websport24
Надіслати
Поділитися на інших сайтах


Спасибо, помогли и с этим.

А как можно оптимизировать изображения? (о чём говорит PageSpeed Insights)

Надо другую библиотеку использовать для сжатия?

 

Теперь единственное что осталось возможным исправить: так это уменьшить время генерации страницы(у меня 0,26сек)

Вам бы это в модуль добавить и вообще можно дорого продавать. Вы очень низкую цену за такую работу и поддержку поставили.

Но тут я сам уже решение нашёл

 

Так как создание изображений на сервере происходит с помощью сторонней программы их можно оптимизировать только с помощью сторонних программ (вариант для windows), иначе никак. Если есть root доступ к серверу, то можно сделать все что угодно. 0.26 секунд это очень хороший результат, мало у кого он есть, если хотите продолжить, то модули тут е помогут, либо кэширование на стороне сервера, либо проведите профилирование кода, чтобы выявить узкие места. 

 

Тут Вам MCJ уже не поможет)

Надіслати
Поділитися на інших сайтах

Здравствуйте!

Я чайник в программированиях. Только начинаю разбираться в теме сжатия. Хочу разобраться с вашим модулем.

Вот пара вопросов возникла - не могу понять. Может подскажете.

 

1. Смотрел рекомендуемый вами файл .htaccess. Меня смущает вот что: там заказывается сжатие с помощью mod_gzip.c и сжатие с с помощью mod_deflate.c. Это как? Сжать сначала одним упаковщиком, а потом вторым? В инетах пишут, что это вроде два равноценных модуля и следует использовать какой-то один. А рекомендуют использовать mod_deflate.c мотивируя это тем, что он входит в стандарный пакет Апача, а mod_gzip.c это сторонний модуль от стороннего производителя. Ну еще, что он какое-то время уже не обновляется и типа документации по нему мало.

 

2. если на сайте уже включено сжатие css и js файлов:

mod_gzip_item_include file      \.(html?|txt|css|js|php|pl)$
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript

то зачем еще использование вашего модуля? Сжимать еще раз уже сжатое вышеуказанными модулями? Или ваш модуль - это альтернатива вышеперечисленным модулям?

Змінено користувачем sadko
Надіслати
Поділитися на інших сайтах


Здравствуйте!

Я чайник в программированиях. Только начинаю разбираться в теме сжатия. Хочу разобраться с вашим модулем.

Вот пара вопросов возникла - не могу понять. Может подскажете.

 

1. Смотрел рекомендуемый вами файл .htaccess. Меня смущает вот что: там заказывается сжатие с помощью mod_gzip.c и сжатие с с помощью mod_deflate.c. Это как? Сжать сначала одним упаковщиком, а потом вторым? В инетах пишут, что это вроде два равноценных модуля и следует использовать какой-то один. А рекомендуют использовать mod_deflate.c мотивируя это тем, что он входит в стандарный пакет Апача, а mod_gzip.c это сторонний модуль от стороннего производителя. Ну еще, что он какое-то время уже не обновляется и типа документации по нему мало.

 

2. если на сайте уже включено сжатие css и js файлов:

mod_gzip_item_include file      \.(html?|txt|css|js|php|pl)$
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript

то зачем еще использование вашего модуля? Сжимать еще раз уже сжатое вышеуказанными модулями? Или ваш модуль - это альтернатива вышеперечисленным модулям?

 

1. Нет, будет выбран только один минимизатор, не знаю какому апач отдает приоритет. Рекомендую deflate, т.к. gzip это инструмент, который содержит deflate. Deflate в свою очередь включен в apache по умолчанию. Но разница в выигрыше видна только на слабых машинах. 

2. Стоит понимать разницу между Gzip сжатием и минимизацией. Модуль именно минимизирует CSS/JS файлы, т.е. убирает пробелы, переносы, лишние символы (зависит от выбранного минимизатора). А Gzip/deflate сжимает алгоритмом deflate. Вот в чем разница.

 

Рекомендую к прочтению:

Надіслати
Поділитися на інших сайтах

  • 2 weeks later...

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.