Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

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


Recommended Posts

День добрый

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

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

Link to comment
Share on other sites


День добрый

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

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

 

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

Edited by halfhope
Link to comment
Share on other sites

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

 

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

 

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

Link to comment
Share on other sites


 

как это проверить?
 
в ерроре пошли ноийсы:
 
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 и в админку, найду решение.

Link to comment
Share on other sites

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

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

 

Добрый гдень.

 

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

 

Edited by halfhope
Link to comment
Share on other sites

 

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

 

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

 

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

Link to comment
Share on other sites

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

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

Edited by websport24
Link to comment
Share on other sites


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

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

 

 

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

Link to comment
Share on other sites

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

Именно для js

 

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

 

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

Edited by halfhope
Link to comment
Share on other sites

Скорей всего проблема в 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>

Edited by websport24
Link to comment
Share on other sites


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

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

 

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

Link to comment
Share on other sites

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

Он почему-то слииет 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>
Link to comment
Share on other sites

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

Для <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.

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

 

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

Link to comment
Share on other sites


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

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

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

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

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

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

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

Link to comment
Share on other sites


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

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

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

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

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

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

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

 

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

Edited by halfhope
Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

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

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

 

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

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

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

Edited by websport24
Link to comment
Share on other sites


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

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

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

 

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

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

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

 

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

 

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

Link to comment
Share on other sites

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

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

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

 

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

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

Edited by sadko
Link to comment
Share on other sites


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

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

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

 

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. Вот в чем разница.

 

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

Link to comment
Share on other sites

  • 2 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.