Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

Recommended Posts

Объединение, сжатие css, js файлов и форматирование html в одну строку.

Описание

Сделан на основе Simple Minify [2.3].Собирает все css и js файлы, объединяет их в один и удаляет лишние пробелы, переносы без ломания кода, а так же может сжать их gzip. Умеет форматировать html удаляя лишние пробелы, переносы, попутно сжимая js и css без ломания кода.

Настройка

Залить содержимое папки upload в корень сайта и установить модуль в админке. Если модуль не появился в списке, то нужно дать права для просмотра, редактирования и проверить не отмечен ли он в списке на скрытие. В настройках модуля выбрать нужные параметры и сохранить.

Gzip

Для работы gzip сжатия нужно прописать в .htaccess следующий код

AddEncoding gzip .jgz
#add support gzip JavaScript
RewriteCond %{HTTP_USER_AGENT} ".*Safari.*" [OR]
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{REQUEST_FILENAME}.jgz -f
RewriteRule (.*)\.js$ $1\.js.jgz [L]
AddType "text/javascript" .js.jgz
#add support gzip CSS
RewriteCond %{HTTP_USER_AGENT} ".*Safari.*" [OR]
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{REQUEST_FILENAME}.jgz -f
RewriteRule (.*)\.js$ $1\.css.jgz [L]
AddType "text/css" .css.jgz
AddEncoding gzip .jgz

Внимание!!!

  • Модуль перезаписывает файл system/framework.php и он должен быть доступен для редактирования!
  • При изменении CSS и JS необходимо очистить кеш в настройках модуля, чтобы модуль заново сгенерировал файлы!

 

Самая свежая версия https://github.com/milkamil93/minify-oc/

Edited by milkamil93
Рефакторинг темы
Link to post
Share on other sites
  • 4 weeks later...

Модуль ломает движок на open cart 2,3 osstore, шаблон faxtor, также установлен seo url. Не работает megamenu, табы, текст меняется в общем сайт становится не рабочим.

 

system/framework доступен для редактирования, как только в самом модулей отключаю сжатие js, сss все норм!

Link to post
Share on other sites

  • 3 weeks later...
В 22.01.2018 в 16:57, milkamil93 сказал:

Собирает все css и js файлы, объединяет их в один

 

Это было актуально лет 10 назад.

Сейчас большинство нормальных хостеров даже на общем хостинге используют протокол http2,  поэтому все эти фокусы из прошлого века все менее и менее  актуальны.

Не имеет никакого значения сколько файлов будет: один или 10 для http2.

 

 

В 22.01.2018 в 16:57, milkamil93 сказал:

и удаляет лишние пробелы

 

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

думаю, не нужно объяснять, что после сжатия 10 пробелов (10 байт), грубо говоря превращаются, в 2 байта.

 

В 22.01.2018 в 16:57, milkamil93 сказал:

а так же может сжать их gzip

 

это и так делается на любой общей хост-площадке и любом сервере.

 

В 22.01.2018 в 16:57, milkamil93 сказал:

форматировать html удаляя лишние пробелы, переносы

 

абсолютно бессмысленно, учитывая, что html и так сжимается сервером.

К тому же это очень часто вредит нормальному исполнению кода.

даже гугл в своем решении pagespeed не умеет всегда корректно удалять такие моменты, оттого эти возможности у него находятся перманенто в бета-версии, т. е. "на свой страх и риск".

 

А и форматирование html "на лету" кроме внесения потенциальных ошибок просто напросто грузит процессор, т. к. парсинг html  с использованием регулярных выражений - это очень тяжелые вычисления.  А без регулярок тут обойтись невозможно.

 

Пишу об этом потому, что в свое время задавался вопросом возможности и эффективности решения данных задач.  Изучал решения от Гугл - серьезно и кропотливо изучал его решение для серверов pagespeed.  Но плюнул в конце концов,  даже в решениях от гугла больше вреда чем пользы.  Там столько глюков вылазит!

А вы решили переплюнуть гугл и изобрести велосипед?

 

В опенкарт реально есть только два самых важных момента:

1) скорость генерации страницы

2) вес изображений.  Можно использовать сжатие без потерь качества.

 

И то, и другое успешно решается.

 

Есть еще и 3-й момент, менее важный, но учитываемый гуглом - это JS, блокирующий отображение страницы в мобильном девайсе.

Это всякие карусели и т. п.   Если эти скрипты грузить после отображения страницы, то скорость отображения страницы на смартфоне/планшете значительно увеличится и гугл скажет спасибо в виде поднятия оценки сайту.

 

Минификация файлов JS и CSS будет, конечно, полезна.  Но они ведь и так уже минифицированы в движке и шаблонах.

 

На всякий случай, по изображениям решение здесь:

 

 

Link to post
Share on other sites
  • 9 months later...

модуль портит сайт - реально половина скриптов не работает, хтмл в один файл открывает тупо пустую страницу.

НО в тоже время нереально поднимается рейтинг в  GTmetrix засчет замены примерно 25 файлов css + js на 2 файла, более того загрузка страницы упала с 10с до 3с

 

В целом идея хорошая и рабочая, еслиб не скрипты. Пришлось удалить тк криво грузит шаблон ((( а жаль

Link to post
Share on other sites

  • 1 month later...
В 18.12.2018 в 18:05, merchin сказал:

В целом идея хорошая и рабочая, еслиб не скрипты. Пришлось удалить тк криво грузит шаблон ((( а жаль

Решение есть, пишите в ЛС если актуально.

Link to post
Share on other sites
  • 8 months later...

Подскажите а где внести исключения, например css который не нужно сжимать?

Link to post
Share on other sites

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
  • Similar Content

    • By Rozliv
      Скачать/Купить дополнение Ultimate NEWS
      vQmod - необязателен!
      Модуль тестировался на Opencart
      1.5.4.1
      1.5.5.1
      1.5.6
      1.5.6.1
      Должен работать и на всех остальных версиях поскольку использует свои модели и контроллеры.

      Поддерживаемые языки:
      русский
      английский

      Демка тут: (пока залита старая версия (1.47) - проблема хостера)
      http://ultimate.freshhosting.ru/
      http://ultimate.freshhosting.ru/admin
      login: test
      password: test
      Установка:
      1. Необходимо просто скопировать файлы из архива в соответствующие дирректории.
      2. Внимание!!!! При переходе с более младшей версии модуля - необходимо первым делом открыть модуль из админки! (настройки старой версии автоматически преобразуются)
      3. Файл стиля - catalog\view\theme\default\stylesheet\ultimatenews.css
      4. Без vQmod: Замените оригинальные файлы /catalog/controller/common/seo_url.php и /catalog/controller/common/seo_pro.php
      Если у вас особенная конфигурация, то не заменяйте их!!! в файлах seo_url.php.un и seo_pro.php.un выделены отличия от оригинала, поэтому Вы легко разберетесь и сможете добавить их в свою конфигурацию!!!
      Модуль умеет:
      - Имеет собственный шаблон (layer), на котором отображаются новости и куда можно выводить модули.
      - Модули могут выводить как определенное количество новостей так и одну конкретную новость на любом шаблоне.
      - Есть возможность устанавливать изображение на любую новость для отображения в модулях и новостных страницах.
      - Новость может содержать неограниченное количество изображений и форматированного текста.
      - Для каждой новости возможно использование SEO и Description. (работает с SEO и SEO PRO)
      - Возможность отключить неиспользуемые языки. Соответственно модули и новости для таких языков выводится не будут.
      - Возможность использования собственных текстов (шапки модулей и новостей, ссылки, кнопки, даты) для всех языков системы.
      - Использование Google SiteMap для новостей. (vQmod)
      А так же:
      - Выводить в модулях и списках новостей заголовки (если они есть);
      - Выводить заголовок в шапке модуля для определенной новости;
      - Отображать или прятать дату в модуле;
      - Создавать, редактировать и удалять новости;
      - Групповое удаление новостей;
      - Проверка на дублирование SEO;
      - Проверка перед удалением на использование новости в модулях;
      - Отдельные настройки для админки, модулей и новостной страницы;
      - Возможность устанавливать вывода количества новостей с пагинацией как в новостной странице так и в админке;
      - Проверка на пустой текст новости;
      - Возможность запрета форматирования текста и вывода изображений в новостях;
      - Сортировка публикаций по дате как вверх, так и вниз.
      - Использование заголовка новости в <TITLE>;
      - Возможность ограничивать вывод новости как по количеству символов, так и по количеству слов;
      - Возможность устанавливать запрет как на отображение новости, так и на отображение последней в модулях;
      - Возможность изменять положение текста в модулях;
      - Возможность отображения новостей в "карте сайта". (vQmod)
      - Возможность менять размеры (есть возможность обрезать) изображений в модулях и новостных страницах;
      - Отображение перехода к новости как ссылкой, так и кнопкой;
      - Отображение даты как иконкой, так и текстом;
      PS: По всем проблемам и вопросам обращайтесь: rozliv@mail.ru (так я отвечу быстрее)
      Так же буду рад Вашим предложениям и пожеланиям. По возможности буду воплощать...
      Добавил Rozliv Добавлено 18.09.2014 Категория Модули  
    • By brest001
      Скачать/Купить дополнение Рекламный уголок с админкой
      Рекламный уголок с админкой
      Рекламный уголок отлично привлекает внимание и может быть использован для увеличения продаж в интернет магазине.
      Для ocStore, OpenCart, Maxystore версий 1.5.х. и OpenCart 2.0.х
      Сделан на базе модуля "Модуль рекламы Уголок для любой версии ocStore"
      https://opencartforum.com/files/file/612-модуль-рекламы-уголок/
      Основное отличие от базовой версии - управление модулем из админки (без постоянного внесения изменений в файлы) основными параметрами, как то:
      - Адрес рекламной страницы
      - Настройка изображений и их размеров
      - Включение/отключение модуля
      Демо: http://ocstore.brest001.arvixe.ru/
      * Перед установкой внимательно прочитайте Install_ru.txt
      Добавил brest001 Добавлено 29.06.2015 Категория Модули  
    • By Sunser
      Скачать/Купить дополнение Easy code - модуль упрощенного добавления кода
      Easy code - модуль упрощенного добавления кода для Opencart и ocStore.
       
      Расширение подходит и тестировалось на версиях Opencart 2.0, 2.1, 2.2, 2.3 и 3.0
      Так же подойдет для OpencartPro версии 2.1 и 2.3
      Расширение подходит и тестировалось на версиях ocStore 2.1, 2.3 и 3.0
      Расширение тестировалось на официальных версиях, скачанных из официальных сайтов сборок.
      Модуль тестировался по нескольких раз на всех выше указанных версиях сайта. Так же модуль проверялся на ошибки.
       
      -- Установка расширения:
      Есть два способа установки:
      1) Это просто откройте установщик расширений и выберите данное расширение под версию вашей сборки и установите, после чего обновите "Модификаторы", Потом перейдите в раздел Модулей и активируйте его, после чего настройте как вам необходимо.
      Модуль не заменяет никаких файлов.
       
      -- Что может модуль:
      1) Модуль выводит javascript код(<script>*</script>);
      2) Модуль выводит код для стилей(<style>*</style>);
      3) Модуль выводит html код;
      3) Можно по отдельности включать модуль в headere, body или footere
       
      Зачем нужен этот модуль и как он работает?
      Данный модуль упрощает работу с кодом. Например у вас есть скрипт который нужно добавить в head, вам не нужно дергать вашего админа, отвечающего за сайт или программиста, что бы он добавил этот код или убрал. А можете запросто сами сделать за пару минут в этом модуле.
      Или же вам нужно добавить код аналитики на сайт, то тоже самое, открываете этот модуль и добавляете код, сохраняете, после чего код появится в указанном вами месте.
      Если вам надо что бы этот код не отображался на сайте, то вы можете его отключить в модуле.
       
      -- Ошибки:
      Если вы установили модуль, сделали все как указано свыше и модуль не работает или какая та часть кода не выводится, то скорее всего вы меняли свой шаблон и модификатор не находит указанного пути в файле модификатора и не можете сами исправить, в таком случае, обратитесь к автору модуля и он поможет в данном решении.
      Примечание - Модуль не обрабатывает и не выводит php или twig код

      Модуль легкий в настройке.
      Модуль имеет 6 полей:
      3 поля куда вы добавляете код
      3 поля со статусом, включать этот код или нет

      Если вы заметите какие-то неполадки или у вас будет предложение по улучшению самого модуля, пишите в личное сообщения данного сервиса, после чего я вам обязательно отвечу.
       
      Убедительная просьба, если вы заказываете дополнительные платные услуги по модулю, заранее согласуйте с автором, поскольку автор может быть занят или отсутствовать.
      Добавил Sunser Добавлено 29.10.2019 Категория Модули Системные требования Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0 ocStore 3.0
      2.3
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1 Обращение к серверу разработчика Нет  
    • By Sunser
      Скачать/Купить дополнение Sunser map - кастомная карта для сайта
      Sunser map - кастомная карта для сайта.
       
      Модуль Sunser map создан для удобного управления с админ панели и вывода на сайт карты гугл. Модуль Легкий в установке и Управлении.
      Модуль поддерживает мультиязычность и почти полностью управляется с админки.
      Модуль подходит и тестировался для Opencart v: 2.0, 2.1, 2.2, 2.3, 3.0;
      Модуль подходит и тестировался для ocStore v: 2.1, 2.3, 3.0;
      OpencartPro v: 2.1 и 2.3
       
      Инструкция по установке модуля:
       - Для установки модуля, загрузите модуль той версии opencart или ocstore которая у вас в админке через установщик модулей, после чего обновите модификаторы.
      Модуль лежит по пути модули(расширения)/Sunser map.
      Второй способ, распакуйте модуль той версии что вам нужно и скиньте в корень вашего сайта.
      Инструкция, как настроить:
       - Активируйте модуль, после чего перейдите в настройку модуля;
       - Первое поле, это название модуля, это название отображается только в вашей админке;
       - Заголовок, поле отображаемое на сайте, сверху карты, если поле не заполнить, то на сайте заголовок не выведется, так же выводится во всплывающем окне при наведении на маркер;
       - Координаты x, y - здесь введите координаты долготы и широты вашего местоположения;
       - Расстояние карты - здесь введите значение, насколько вы хотите что бы на карте была приближена ваша карта;
       - Описание окна - тут пишите что угодно, оно будет выводится при наведение на маркер карты, если оставить пустым, всплывушка на маркере не будет выводится;
       - Стили для карты, здесь по стандарту уже прописаны основные стили для карты. Если не прописать стили или оставить пустым, карта будет не корректно выводится, поскольку изначально надо прописать ширину и высоту для карты. Так же, если вы разбираете в css, то можете прописывать тут стили для других элементов карты;
       - Api карты - здесь нужно ввести api карты, от google. Если не прописать ключ или если ключ будет не корректен, то карта не будет работать;
       - Маркер, тут можно задавать свою картинку для маркера, если оставить пустым, то будет выводится стандартный маркер гугл;
       - Статус, отвечает, будет ли работать и отображается на сайте или нет;
       - После сохранения, перейдите в макеты и выберите место для вывода модуля.
       
      Проблемы и решения:
       - Установил модуль, настроил, но на сайте не отображается. Первое, это не правильно прописаны стили в модуле;
       - Некорректно прописан api ключ или является не действителен;
       - Установил модуль, но языки не корректно отображается. В таком случае бывает, когда языки в папке language в модуле не совпадают с языками в папке language вашей админки.
       
      Если другая какая ошибка, пишите автору и он поможет в решении данной проблемы.
       
      Будьте внимательные к описанию данного модуля, его характеристикам и скринам приложенным к нему перед приобретением модулям. Если же вам что-то не понятно или есть вопросы перед приобретением, можете написать автору модуля и уточнить свои вопросы к данному модулю
       
      Убедительная просьба, если вы заказываете дополнительные платные услуги по модулю, заранее согласуйте с автором, поскольку автор может быть занят или отсутствовать.
       
       
      Другие модули автора:
      Subscribe_pro - улучшенная подписка на новости Content manager – модуль учета контента. Ease description - модуль упрощенного описания Sunser Callback - форма обратной связи Sitemap generator - генератор статической карты сайта Smart slider - улучшенный слайдер для сайта Добавил Sunser Добавлено 01.08.2019 Категория Модули Системные требования Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0 ocStore 3.0
      2.3.0.2.4
      2.3
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1 Обращение к серверу разработчика Нет  
    • By shyn
      Minerva - шаблон OpenCart который подойдет магазинам с большим количеством товаров и потребностью в максимальной совместимости с большинством существующих дополнений. Шаблон имеет выверенный дизайн и несколько нестандартных решений для размещения баннеров. Адаптивная верстка, построенная на основе технологии Bootstrap позволит Вашему магазину отлично выглядеть на всех типах устройств, от десктопных компьютеров с большими мониторами, до мобильных телефонов с маленьким экраном.
       
      Шаблон поддерживает OpenCart 2.0.x, OpenCart 3.0.x, ocStore и OpenCart "Русская сборка" соответствующих версий.
       
      ДЕМО МАГАЗИН
       
      Основные особенности
      - Адаптивный дизайн
      - 9 Предустановленных цветовых схем
      - Дополнительный стиль (Panda)
      - Прост в установке и настройке
      - 99+ опций настройки шаблона
      - 3-х уровневое меню
      - Поддержка мультиязычности
      - Иконки FontAwesome
      - Шрифт Roboto от Google
      - Bootstrap 3
      - Фиксированная шапка для категорий
      - Кнопка "Вверх"
      - Поиск в выпадающем меню
      - Стильные социальные ссылки
      - Иконки платежных систем
      - Поддержка разных браузеров (Firefox, Chrome, Safari, Opera, Edge)
      - Структурированный / Оптимизированный код
      - Подробная документация
      - Поддержка 24/7
       
      Совместимость
      - OpenCart 3.0.3.7
      - OpenCart 3.0.3.6
      - OpenCart 3.0.3.5
      - OpenCart 3.0.3.4
      - OpenCart 3.0.3.3
      - OpenCart 3.0.3.2
      - OpenCart 3.0.3.1
      - OpenCart 3.0.3.0
      - OpenCart 3.0.2.0
      - OpenCart 3.0.1.2
      - OpenCart 3.0.1.1
      - OpenCart 3.0.0.0
      - OpenCart 2.3.0.2
      - OpenCart 2.3.0.1
      - OpenCart 2.3.0.0
      - OpenCart 2.2.0.0
      - OpenCart 2.1.0.2
      - OpenCart 2.1.0.1
      - OpenCart 2.0.3.1
      - OpenCart 2.0.2.0
      - OpenCart 2.0.1.1
      - OpenCart 2.0.1.0
      - ocStore 2.3.x
      - ocStore 2.1.x
      - OpenCart (Русская сборка) 3.0.x
      - OpenCart (Русская сборка) 2.0.x
       
      Список изменений
      25.11.2019
      - Исправлено отображение ссылок подкатегорий на странице категорий (OpenCart 3)
      - Исправлено отображение логотипа при наведении
       
      Поддержка
      Поддержка осуществляется по электронной почте либо через личные сообщения на форуме.
      В поддержку входят ответы на вопросы, обсуждение деталей связанных с шаблоном, обнаружение и устранение ошибок, пожелания в новой функциональности.
      Установка, настройка, изменение функциональности и доработки не входят в поддержку и могут быть предоставлены в качестве дополнительной услуги, за отдельную плату.
       
      Лицензия
      Шаблон продается с лицензией на один сайт, одна покупка = один домен
      Перепродажа, выкладывание в публичный доступ и прочие действия подобного характера запрещены и явняются нарушением авторских прав.
      ских прав.
       
  • Recently Browsing   0 members

    No registered users viewing this page.

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