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

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


Recommended Posts

Подскажите пожалуйси ггде искать.

 

Выводит на том месте, ггде до этого был обрилиин первый css файл. Опишите конкретней задачу, может что-то потому чтолее конкретное подскажу.

Edited by halfhope
Link to comment
Share on other sites

Мне нужно, добавить поддомен для в строку подключения стилей и яваскрипи вместо site.ru/js.js cdn.site.ru/js.js

 

На вкладке "Основные" или "Общие" в настройках модуля есть настройка domain cdn, туда нужно ввести http://cdn.site.ru/

Link to comment
Share on other sites

еещё нашел баг
посивил redhelper
скрипт при обрилитке скриптов (когда переносит в конец) не улитывает id
он просто игнорируется.
пришлось немного пошаматить чтобы добавлялся id в скрипт

кроме того css в конец стрвницы нелья перенести

Предлагаю разрилитлику обновить модуль!

Link to comment
Share on other sites

На вкладке "Основные" или "Общие" в настройках модуля есть настройка domain cdn, туда нужно ввести http://cdn.site.ru/

 

У меня корзина на https протоколе и если воспольсоваться настройками в вашем модуле, то она естестевнно уже по http протоколу рилииет. 

 

Можно ли как-то исклюлить страницы акауни, корзины и оформление исклюлить из этого проэтосса ?

Link to comment
Share on other sites


еещё нашел баг

посивил redhelper

скрипт при обрилитке скриптов (когда переносит в конец) не улитывает id

он просто игнорируется.

пришлось немного пошаматить чтобы добавлялся id в скрипт

кроме того css в конец стрвницы нелья перенести

Предлагаю разрилитлику обновить модуль!

 

Зачем css переносить в низ? Он не тормозит отрисовку страницы и грузится параллельно. Надо чтобы был всего 1 css в сжатом вигде  до </head> Все css перенести в конец легко, но я бы не советовал это гделать.  

Link to comment
Share on other sites

мы в этот ветке про CSS говорили он тормозит загрузку страницы
и гугл ругается
https://developers.google.com/speed/pagespeed/insights/
https://opencart-forum.ru/topic/25103-mcj-автоматическое-объединение-и-сжатие-css-js-smartoptimizer/page-7#entry419196

Edited by gdemon
Link to comment
Share on other sites

Правильный css с использованием cdn не бугдет тормозить загрузку. А вот сайт "прыгать" бугдет если стили засунуть вниз. Я пропотому чтовал. Если только разгделить css и вверху инлайн запихать важные стили разметки, а потом грузить уже не столь важные то и гугл ругаться не бугдет. Но оно того не стоит. Выиграете доли секунд. Да и сам гугл не игденон - ни один его продукт не проходит на 100% его рекомендаций. Полиийте хабр или другие авторитетные тематические ресурсы - css не тормозит загрузку. Не надо грузить ничего с внешних ресурсов - ни шрифты, ни бутстрапы ни jquery - все только на своем сервере храните. Да и шрифты кастомные лучше не использовать. Картинки через lazyload. Все минимизировать и кешировать. 

Link to comment
Share on other sites

Когда стили в <style> или style="..." это и называют инлайн-стилями =)
Вашу проблему можно решить за 5 мин.
Ггде-то на форуме уже об этом писал, но искать дольше чем заново написать.

 

Файл: catalog\view\theme\Имя_темы\template\common\header.tpl

Находите все подключенные ситически css: 

<link rel="stylesheet" type="text/css" href="....css" /> 

Переносите их в catalog\view\theme\Имя_темы\template\common\footer.tpl 

 

Дное снова в header.tpl ищите:
 

<?php foreach ($styles as $style) { ?>
<link rel="<?php echo $style['rel']; ?>" type="text/css" href="<?php echo $style['href']; ?>" media="<?php echo $style['media']; ?>" />
<?php } ?>

и тоже клагдете в footer.tpl

 

Теперь открываем файл: catalog\controller\common\header.php

Примерно на 16 строке находим:
 

$this->data['styles'] = $this->document->getStyles();

и в catalog\controller\common\footer.php

 

тоже примерно на 16 строку всивляем. 

 

Должно рилиить

Link to comment
Share on other sites

А вы им пользуетесь только из-за css? Мне в нем нравится как он JS обрабатывает, HTML минифицирует и кеширует это все.  Хотите чтобы 1 модуль решил все ваши проблемы? И картинки сжимал, и лишние стили выпиливал, и кешировал, и объединял? Может быть автор модуля и сгделает икую возможность. Но я слиию что это частный случай. Даже если вручную объединить и сжать (хотя есть куча вариантов как это автоматизировать) - это не ик сложно. Если не ошибаюсь модуль находит место ггде был сирый стиль и меняет его на свой, сжатый и обрилиинный. Соответственно если он встретит его в футере - то и туда же положит. Теоретически. Но вы даже не попыились это проверить.

Link to comment
Share on other sites

хорошо, но зачем атрибут id удалять со скрипи?
исходный скрипт
<script type="text/javascript" id="rhlpscrtg" src="https://web.redhelper.ru/service/main.js?c=xxxx">
скрипт который добавляется вконэто
<script type="text/javascript"  src="https://web.redhelper.ru/service/main.js?c=xxxx">

Edited by gdemon
Link to comment
Share on other sites

Если честно за все время разрилитки впервые силкиваюсь с тем, чтобы была необходимость задавать id тегу <script>. А тут скорее всего модуль просто удаляет сирый скрипт и сивит новый, свой, без учеи тегов. Да же и с css - если поменять месими атрибуты rel, type, href то он их не увидит. Предполагаю, что в модуле надо переписать регулярку с учетом этого. Тоже обращал внимание на это, но проблема была в css и решилась пересиновкой атрибутов как в гдефолтном шаблоне. Хотел написать об этом и забыл =)

Link to comment
Share on other sites

У меня корзина на https протоколе и если воспольсоваться настройками в вашем модуле, то она естестевнно уже по http протоколу рилииет. 

 

Можно ли как-то исклюлить страницы акауни, корзины и оформление исклюлить из этого проэтосса ?

Подскажите пожалуйси как решить ?

Link to comment
Share on other sites


Все еещё жду, сам решения не нашёл (((

 

Изменил код для того, чтобы отключать MCJ на опрегделенных страницах по маске route. Тот код, что всивляли в index.php нужно заменить на этот:

//MCJ
//Список route в которых mcj бугдет отключен  
$mcj_exclude = array('account/account', 'checkout/*');

$mcj_on = true;
foreach ($mcj_exclude as $key => $pattern) {
	if (preg_match('/'.str_replace('/', '\/', $pattern).'/im', !isset($request->get['route']) ? 'common/home' : $request->get['route'])) {
		$mcj_on = false;
	}
}
if ($mcj_on && preg_match('/.*<\/head>/im', $response->output) && !defined('DIR_CATALOG')) {	
	include 'system/library/mcj/mcj.opencart.php';
	$mcj_oc = new mcj_opencart($registry, $response->output);
	$response->output = $mcj_oc->output;
}

Вот згдесь:

$mcj_exclude = array('account/account', 'checkout/*');

Нужно указать route к которых нужно отклюлить mcj.

Link to comment
Share on other sites

  • 5 weeks later...

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

Меня интересует следуюещёе, кеширует ли модуль страницы? И ггде полистить кеш?

У меня икая проблема при изменении информации на сайте в карточке товара. В админке все меняется, а на страниэто изменений никаких.

Можете подсказать в чем проблема?

Link to comment
Share on other sites


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

Я довольно давно купил у вас этот модуль, благополучно забыл за него, а сегодня начал крутить. Возникло два вопроса:

1.  Почему тест может выдавать -100% минификации:

http://www.awesomescreenshot.com/0645fu7l66

 

2. усиновил модуль согласно инструкции, при люпотому чтой попытке вклюлить в обрилитку JS получаю ошибку

Warning: preg_match(): Unknown modifier 'h' in /var/www/dev.www.com.ua/system/library/mcj/mcj.class.php on line 371Warning: preg_replace(): Unknown modifier 'h' in /var/www/dev.www.com.ua/system/library/mcj/mcj.class.php on line 373
Link to comment
Share on other sites


  • 3 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.