Image COMPRESSOR & Watermark & WebP & Lazy Load etc. by Sitecreator: Быстрый старт, установка

Статус
Закрыто для дальнейших ответов.

sitecreator

Administrator
Команда форума

Информация для модуля "Компрессор" версии 2.1.* (и выше)


Установка для opencart 1.5, для opencart 2.* (2.0.*, 2.1.*, 2.2.*, 2.3.*) и для opencart 3.0


Внимание перед установкой!


Где взять файлы для установки? Скачать в своем личном кабинете на сайте https://sitecreator.ru
ВАЖНО IMPORTANT
Для работы модуля нужен лицензионный ключ (файл), лицензия привязывается к доменному имени вашего сайта. Запрашивайте лиц. ключ у автора, написав на почту: opencart@sitecreator.ru с указанием деталей покупки (где куплено, дата, номер заказа, название домена).
Если вы делаете обновление модуля с очень старой версии (меньшей чем 1.8.*), то вам необходимо получить сперва новый лицензионный ключ, т.к. старый не подойдет.


Лицензионный ключ (файл) содержит название вашего сайта:
site.com.ocmod.zip
Достаточно просто загрузить его через ocmod-загрузчик движка если у вас опенкарт 2.* или 3.0 (Для 3-ки смотрите ниже общее указание перед установкой любых файлов). В случае опенкарт 1.5 распакуйте данный архив и файл ключа вида
watermark_by_sitecreator.lic
загрузите в корень сайта (это там, где лежат файлы index.php, robots.txt)


ВАЖНО IMPORTANT
Требования к php:
  • версия php 5.6-7.3,
  • наличие ioncube loader не ниже 10-й версии,
  • расширение zip php (это требование самого opencart, без него не работает ocmod-установщик opencart),
  • memory_limit не менее 128M (64М как минимум, на котором еще возможна работа, хоть и не быстрая)
  • upload_max_filesize и post_max_size не менее 12M (для установки модуля через ocmod-установщик)


Желательно (но необязательно если нет возможности):
  • расширение imagick php для получения более качественных изображений, для более быстрой работы (по сравнению с GD) и создания webp (как один из вариантов), обязателен в случае использования плагина для обрезки фона исходных изображений (этот плагин не входит в базовую поставку, а приобретается отдельно)
  • незаблокированная функция php proc_open

ВАЖНО IMPORTANT
Важно чтобы файл config.php соответствовал стандарту opencart в плане важнейших констант:

PHP:
HTTP_SERVER;
HTTP_CATALOG;
HTTPS_SERVER;
HTTPS_CATALOG;
Набор этих констант различен для config.php админки и публичной части сайта, не забывайте, что в движке есть два файла config.php. Дело не в их количестве, а в значениях, которые прописаны. В примере приведены константы из config.php админки.
Эти константы должны быть определены однозначно строковыми константами, содержащими адрес вашего сайта. Пример строковой константы:
'http://oc23.local/'.
Во время установки opencart сам движок прописывает эти константы. И эти константы не должны получать определение с помощью переменных (серверных), выражений и т.п. Отступление от стандарта opencart на эти константы может привести к невозможности работы скрипта по расписанию и к другим неожиданностям и странностям в работе самых разных модулей и всего сайта в целом. Не стоит использовать всевозможные универсальные (без прописывания конкретного адреса сайта) файлы config.php. Сам opencart всегда создает правильный config.php во время установки. Данное примечание предназначено для народных умельцев, пытающихся "улучшить" файл config.php.


Пример фрагмента правильного (стандартного) config.php:

PHP:
<?php
// HTTP
define('HTTP_SERVER', 'http://oc23.local/admin/');
define('HTTP_CATALOG', 'http://oc23.local/');

// HTTPS
define('HTTPS_SERVER', 'http://oc23.local/admin/');
define('HTTPS_CATALOG', 'http://oc23.local/');

Также нужно понимать, что для работы с графикой необходимо достаточное количество памяти, которое выделяется php (параметр memory_limit). Обычно на общем хостинге он равен 128М или 256М (на усиленном тарифе), меньше 64М не бывает даже на самом дешевом хостинг-тарифе. Чем больше объем работы с графикой, то тем выше должен быть лимит memory_limit . Например, если вы загружаете картинки весом в 10 мегабайт, то вам 128М уже не хватит, а потому скрипт php будет останавливаться с фатальной ошибкой, для таких тяжелых картинок даже 256М будет мало, тут желательный минимум - это 512М и наличие более-менее мощного VDS. Нужно здраво оценивать мощность вашего сервера (хостинга) и понимать, что обработка тяжелых исходников, например, размером 6000 х 4000 (весом примерно 10 Мегабайт и выше) невозможна на слабой хост-площадке. Лучше вообще не загружать такие огромные исходники на сервер, все же предварительная работа по подготовке исходных изображений должна производиться на полноценном мощном компьютере, а на сервер должны заливаться исходники разумных размеров, например 1000 х 1000 (для товаров) и 2000 х 500 (для отдельных баннеров). Если же вы непременно желаете заливать тяжелые исходники, то сервер должен соответствовать нагрузке, которую будет создавать обработка таких исходников.

Дистрибутив для opencart 2.* и opencart 3.0 одинаковый и не зависит от версии движка.
Название файла дистрибутива примерно такое (указаны в нем поддерживаемые версии php, минимальная версия ioncube loader, версия самого модуля ):
watermark_by_sitecreator_for_PHP_5.6_7.3_ioncube10_ver_2.0.3.ocmod.zip

ВАЖНО IMPORTANT
Настоятельно рекомендуется установка через стандартный установщик OCMOD движка Opencart версий 2 и 3.


Важно чтобы лимит на размер ("вес") загружаемого файла был соответствующий, иначе вы не сможете сделать загрузку через ocmod-установщик. Важно чтобы расширение ZIP PHP у вас было включено - это требование для работы opencart, оно входит в список минимальных требований для установки opencart, но некоторые заказчики умудряются не включить это расширение.
Рекомендуется установить лимит на загрузку файла не меньше 16M (по умолчанию он всего 2M). Название этих параметров (их два): upload_max_filesize и post_max_size .
Вы можете проверить данный лимит и наличие ZIP PHP, а также наличие ioncube loader через запуск файла info.php (имеется в комплекте файлов в личном кабинете в виде архива info.ocmod.zip - он же для загрузки через ocmod-установщик ).
Если info.php вы загрузили в корень сайта, то и запускайте его соответственно:
Код:
http://ваш_сайт.com/info.php
Вы получите такую важную информацию:
Скриншот * Screenshot







ВАЖНО IMPORTANT
Модуль Компрессор может работать совместно с измененной сторонним софтом системной библиотекой image.php, а также с измененными файлами модели tool/image.php и т.д. и т.п. В таком случае будет работать только функционал модуля для webp и lazy load.


Если вы хотите использовать все возможности модуля Компрессор по-максимуму (включая водяной знак), то должны использоваться (быть включены) как минимум два ocmod-файла модуля (они находятся в папке system):
  • image_by_sitecreator.ocmod.xml
  • sitecreator.webp_output.ocmod.xml

ocmod image_by_sitecreator.ocmod.xml модифицирует два файла:
  • system/library/image.php
  • catalog/model/tool/image.php
Разумеется, что другие модули или шаблоны не должны модифицировать данные файлы, иначе может возникнуть конфликт. Поэтому отключите и удалите перед установкой другие модули типа "watermark" если есть такие. Вместе с их ocmod/vqmod для надежности.

Но если вы непременно желаете использовать сторонний софт, который вмешивается в обработку графики и, соответственно, модифицирует указанные выше файлы, то вам нужно не использовать ocmod модуля Компрессор: image_by_sitecreator.ocmod.xml . Не загружайте его в таком случае и не устанавливайте. Вам тогда надо будет из дистрибутива модуля установить не все файлы. Не устанавливайте ocmod-файлы модуля Компрессор кроме одного:
sitecreator.webp_output.ocmod.xml
Этот ocmod позволит создавать и выводить webp и использовать Lazy Load. Остальные возможности модуля Компрессор будут недоступны.
Библиотека модуля webpimage.php может работать совершенно самостоятельно при этом.

Если вы используете opencart 1.5, то вышесказанное насчет ocmod-файлов модуля нужно отнести к vqmod (xml) файлам модуля, т.е. принцип одинаковый.


ВАЖНО IMPORTANT
Отключите на сервере оптимизацию изображений через серверный pagespeed. Данная оптимизация может не позволить (но не обязательно) использовать в модуле WEBP, а также может привести к потере качества изображений, а также к банальным тормозам вместо ожидаемого ускорения. И поаккуратнее с другими оптимизациями от серверного pagespeed. Многие из них имеют знак "осторожно", т.е. могут вызывать баги и прочие странности, особенно это касается оптимизации JavaScript. Не нужно включать все галочки бездумно! Часто от подобных оптимизаций больше вреда чем пользы.


Явный пример на скриншоте ниже, что на сервере используется расширение pagespeed для веб-сервера. Смотреть надо в инструментах браузера (ctrl+shift+I): вкладка "Сеть" --> "Изображениия". К именам файлов изображений дописывается соответствующая часть pagespeed.
Чем плохо такое использование? Например, тем, что используется в pagespeed далеко неоптимальный параметр качества 75 по-умолчанию, что нередко привыодит к потере четкости и замыливанию изображения. Кроме того от двойного преобразования (что само по-себе бессмысленно) увеличивается время загрузки страницы.



ВАЖНО IMPORTANT
Уровень GZIP сжатия в настройках движка Opencart должен быть только НОЛЬ! Это касается также ускорителей, в них тоже для HTML должен быть отключен GZIP. Просьба не путать с сжатием GZIP, которое выполняет сервер и включенным у хостера. Также крайне рекомендуется отключить в ускорителе минификацию HTML, ибо при наличии GZIP для HTML в минификации мало толка, но она может помешать правильной встройке webp в HTML.


Иначе не будет работать WEBP и на сайте возможны другие проблемы, не связанные с модулем Компрессор. Никакого смысла в этой настройке нет, т.к. абсолютно любой хостинг уже использует GZIP сжатие по умолчанию, от этой настройки только вред. Исключение могут составить лишь ненастроенные VDS, но это не повод не включить GZIP в настройках сервера как положено. GZIP - это задача только и всегда сервера! Не надо пытаться сжать уже сжатое! Кроме ошибок и бессмысленной потери ресурсов это ничего не вызовет.
Настройку искать здесь:
Система --> Настройки --> Редактировать --> Сервер.

Пример правильной настройки opencart:


Речь идет исключительно о настройке сжатия средствами движка и/или его модулей. Отключать сжатие на сервере не надо!


ВАЖНО IMPORTANT
Если у вас установлен ускоритель, то отключите в нем (если есть) любые оптимизации изображений. Также если вы собираетесь использовать кеширующий ускоритель совместно с модулем Компрессор с включенной опцией "Включить СОВМЕСТИМОСТЬ с любым кеширующим страницы (HTML) УСКОРИТЕЛЕМ! ", то рекомендуется не использовать в ускорителе опцию "оптимизировать JS". Если же у вас в ускорителе включена оптимизация JS, то в модуле Компрессор также включите соответствующую опцию.




Многие кеширующие ускорители (Nitropack; Jetcache; Turbo для движка 2.3-й версии) не требуют обязательного включения этой опции, т.к. для
Nitropack, Turbo (для движка 2.3-й версии) сделана специально адаптация (в инструкции есть пояснения как использовать), а для других (Jetcache, например) адаптация вовсе не требуется. Где нужна опция "Включить СОВМЕСТИМОСТЬ с ... УСКОРИТЕЛЕМ!"? Например, в случае совместного использования с ускорителем "Лайтинг" для обеспечения вывода webp, а если вы собираетесь использовать только сжатие mozjpeg, optipng (без webp) для jpeg, png соответственно, то опцию "Включить СОВМЕСТИМОСТЬ с ... УСКОРИТЕЛЕМ!" включать нет нужды, т.е. можно, но нет смысла.

 

Вложения

Последнее редактирование:

sitecreator

Administrator
Команда форума

Используете FTP для установки дистрибутива модуля?



Почему не рекомендуется загружать файлы модуля через FTP? Дело в том, что ваш сервер может быть настроен неудачно таким образом, что файлы и папки в итоге получат неправильные права и/или пользователя (владельца) Linux.
Если у вас ftp работает от имени одного пользователя Linux, а скрипты php - от другого, то в таком случае вы рискуете столкнуться с проблемами НЕполной установки модуля (в случае использования ftp).

В случае установки через ocmod (без ftp) это исключено.

Если же вы все же устанавливаете через FTP, то делаете это на свой страх и риск. И, прежде всего, с пониманием.

ВАЖНО IMPORTANT
Передача файлов по ftp должна быть обязательно в битовом (двоичном) режиме, а не в текстовом во избежание порчи файлов. Это настраивается в вашем ftp-клиенте.

После закачки файлов дистрибутива по ftp вам может потребоваться выставить права для папок (и их подпапок) cgi-bin, cli-php, admin/cli-php в 0777 чтобы была возможна последующая установка необходимого софта: mozjpeg, optipng, cwebp средствами модуля (через админку модуля). Но делать это стоит в том случае если у вас не получается установить указанный софт. Обычно достаточно создаваемых прав по умолчанию 0755, но только в том случае если пользователь Linux один и тот же для ftp и скриптов php.

Необходимые файлы, о которых говорилось выше, вы также можете скачать здесь, а не только из личного кабинета на сайте https://sitecreator.ru
Смотрите соответствующие вложения в сообщениях этой темы.

  • info.ocmod.zip - info.php для установки в корень сайта.
  • QuickFix for opencart 2.zip - это фикс для opencart 2.0 чтобы делать установку через ocmod-установщик без ftp. (внутри localcopy.ocmod.xml)
  • fixoc3installer.ocmod.zip - это фикс для opencart 3.0, необходимый до установки модуля.

Так выглядит настройка двоичного режима передачи в ftp-клиенте FileZilla

Скриншот * Screenshot
настройка двоичного режима передачи в ftp-клиенте FileZilla


Так выглядит настройка двоичного режима передачи в ftp-клиенте WinSCP



настройка двоичного режима передачи в ftp-клиенте WinSCP

Как установить для разных ftp-менеджеров двоичный режим можно прочитать также здесь:
 
Последнее редактирование:

sitecreator

Administrator
Команда форума

Важное примечание для Opencart 3.0



ВАЖНО IMPORTANT
Прежде чем устанавливать через установщик ocmod модуля Компрессор нужно снять (можно временно) ограничение на загрузку при установке файлов в "неправильные" папки.


Иначе стандартный установщик opencart-а не позволит ничего записать в папки cgi-bin, cli-php, admin/cli-php.
Рекомендую воспользоваться фиксом fixoc3installer.ocmod.zip
или аналогичным, который снимает ограничения. Только не нужно ставить одновременно несколько подобных фиксов. Сперва проверьте не стоит ли у вас уже подобный фикс для установки.

В комплекте файлов для установки (можете скачать из личного кабинета на сайте https://sitecreator.ru) уже есть вот этот файл: fixoc3installer.ocmod.zip
Это и есть необходимый фикс от GeekoDev. Устанавливайте его первым делом до установки модуля Компрессор. Не забывайте после установки самого ocmod этого фикса далее обновить кеш модификаторов.

 

Вложения

Последнее редактирование:

sitecreator

Administrator
Команда форума

Важное примечание для Opencart 2.*


ВАЖНО IMPORTANT
Установщик ocmod в случае opencart 2.* крайне не рекомендуется использовать в режиме передачи файлов по FTP. Для этого опция "Включить FTP" должна быть не выбрана.



Чтобы обеспечить загрузку без FTP через ocmod-установщик (как это работает в opencart 3.0) вам необходимо установить фикс (fix) если он еще у вас не установлен. В комплекте файлов для установки (можете скачать из личного кабинета на сайте https://sitecreator.ru) он также присутствует.

В списке файлов для скачивания он называется "QuickFix for opencart 2. Решает проблему установки через OCMOD при отключенном FTP. РЕКОМЕНДУЕТСЯ! "


Называется этот фикс в списке модификаторов Local copy OCMOD by iSenseLabs.



ВАЖНО IMPORTANT
Для Opencart 2.0 (только для 2.НОЛЬ) после установки модуля обязательно УДАЛИТЕ папку /admin/controller/extension/module, так как вы не сможете зайти в меню Модули
2.1, 2.2, 2.3 - это НЕ 2.0!
 

Вложения

Последнее редактирование:

sitecreator

Administrator
Команда форума

Установка для opencart 2.* и 3.0



Лицензионный ключ запрашивайте у разработчика, сообщив место покупки, дату и номер покупки, и название домена.

Установите лицензионный ключ вида ваш_сайт.com.ocmod.zip через ocmod-установщик или разархивируйте этот архив и залейте по ftp файл watermark_by_sitecreator.lic в корень сайта (это там где файл .htaccess, config.php и папка admin). Не надо заливать папку upload.

Установите модуль через ocmod-установщик сайта на opencart-движке. Или залейте файлы и папки из папки upload (после распаковки zip-архива) в корень сайта. Не надо заливать саму папку upload в корень, надо именно все файлы и папки из нее.

Если заливали файлы дистрибутива модуля способом по фтп (что не рекомендуется), то может потребоваться выставить права 0777 на папку cgi-php и все ее внутренние подпапки. Также может потребоваться выставление прав 0777 на папку image/sitecreator


ВАЖНО IMPORTANT
Для Opencart 2.0 (только для 2.НОЛЬ) после установки модуля обязательно УДАЛИТЕ папку /admin/controller/extension/module, так как вы не сможете зайти в меню Модули
2.1, 2.2, 2.3 - это НЕ 2.0!



В списке модулей в админке сайта нажмите "установить".


Установите необходимые права (разрешить просмотр и редектирование) для модуля на странице "Группы пользователей".
В случае администратора просто выбирайте "выделить все" для "Разрешён просмотр" и для "Разрешено внесение изменений".


После установки модуля обновите кеши:
  • модификаторов;
  • кеш шаблона (twig);
  • системный кеш;
  • кеш ускорителя (кешеровщика) если таковой установлен

В модуле после установки на вкладке Сервис нажмите "активировать лицензию".


Необходимый софт (mozjpeg, optipng, webp) установите прямо находясь в админке модуля на вкладке Сервис.
Для софта webp (cwebp) есть возможность выбора для какого ядра Linux сделать установку. Если не знаете, что выбрать, то выбирайте для ядра 2.6.

Установка серверного софта для сжатия (mozjpeg, optipng) изображений и WEBP в модуле Image COMPRESSOR & Watermark & WebP & Lazy Load etc. by Sitecreator


Читайте подсказки к каждому пункту настроек модуля. Они очень подробные. И там есть практически все ответы.
Когда делаете какие-то действия, то в информационном окне (внизу) появляются сообщения, которые могут вам помочь в случае возникновения ошибок.

Скриншот * Screenshot
Информационное окно модуля Image COMPRESSOR & Watermark & WebP & Lazy Load etc. by Sitecreator



Также у вас есть очень информативный блок на вкладке "Сервис" вверху.
Он показывает какой у вас установлен софт и какой отсутствует.
Если вы установили mozjpeg,optipng, cwebp, то сразу увидите результат теста этого софта по созданию сжатых изображений.

Скриншот * Screenshot

 
Последнее редактирование:

sitecreator

Administrator
Команда форума

Установка для opencart 1.5



До установки нужно получить лицензионный ключ для домена у автора.
Лицензионный ключ - это файл, который содержит название вашего сайта. Название примерно такое: site.com.ocmod.zip

Вам необходимо извлечь из этого архива вот этот файл watermark_by_sitecreator.lic. Далее необходимо поместить файл watermark_by_sitecreator.lic в корень вашего сайта. Корень сайта - это основная папка, в которой находится папка admin и другие папки сайта.

You need to extract this file watermark_by_sitecreator.lic from this archive. Next, place the watermark_by_sitecreator.lic file in the root of your site. The root of the site is the main folder in which the admin folder and other folders of the site are located.

Для использования на opencart 1.5.* должен быть сперва установлен vqmod (если он отсутствует), обычно в 95% он уже присутствует в движке.
Сам vqmod (только если еще не установлен) вы можете скачать, например, здесь: https://code.google.com/archive/p/vqmod/downloads
Можно, конечно, и без vqmod обойтись, но в таком случае вы должны вручную внести правки в код вашего движка руководствуясь файлами
  • image_by_sitecreator.ocmod.xml
  • sitecreator.webp_output.ocmod.xml
как инструкцией.

Дистрибутив модуля Компрессор начиная с версии 2.1.6 теперь одинаковый для opencart версий 1.5, 2.*, 3.0.
Разархивируйте архив дистрибутива (цифры версии модуля могут отличаться)
watermark_by_sitecreator_for_PHP_5.6_7.3_ioncube10_ver_2.1.6.ocmod.zip
У вас появится папка upload.
Содержимое этой папки закачайте по фтп в корень вашего сайта. Саму папку upload не надо, а только содержащиеся в ней файлы и папки.

ВАЖНО IMPORTANT
Обязательно удалите после закачки папку (с ее содержимым) /admin/controller/extension/module, так как вы не сможете зайти в меню Модули.


Для установки у вас также есть дополнительный архив vqmod_and_colorbox_for_opencart_1.5_ONLY.zip. Разархивируйте и загрузите в корень сайта содержимое папки upload (но не саму папку upload).
Этим действием вы обновите javascript файл для colorbox (отвечает за всплывающие изображения) до версии 1.6.4 (с поддержкой webp). В опенкарт 1.5 (речь про дистрибутив движка) встроена довольно старая версия colorbox, которая не понимает webp, а потому будет вместо картинки выводить текст если не сделать обновление.

Также в архиве vqmod_and_colorbox_for_opencart_1.5_ONLY.zip лежат два файла для vqmod:
  • image_by_sitecreator.ocmod.xml
  • sitecreator.webp_output.ocmod.xml
Эти файлы для vqmod нужно, соответственно, загрузить в папку (путь указан относительно корневой директории сайта):
/vqmod/xml/

ВАЖНО IMPORTANT
sitecreator.webp_output.ocmod.xml берите из самого дистрибутива. Там он наиболее свежий и правильный.


После (или до - это непринципиально) заливки файлов модуля на сервер вы должны также закачать в корень сайта лицензионный ключ для модуля watermark_by_sitecreator.lic. Извлеките ключ из архива прежде чем заливать.
В админке перейдите в "модули" и нажмите "установить".
Выставите в опенкарт для группы пользователей "администратор" (если вы администратор) все права для просмотра и модификации.
В настройках модуля на вкладке "сервис" нажмите "активировать". Далее в модуле можете установить необходимый дополнительный софт и сделать другие настройки.





Внешний вид настроек модуля почти ничем не отличается для разных версий движка. И почти вся информация, которая актуальна для модуля под Opencart 2 или 3, будет актуальна для модуля Компрессор, установленного в опенкарт 1.5.
 
Последнее редактирование:

sitecreator

Administrator
Команда форума

ОТКЛЮЧЕНИЕ МОДУЛЯ (ЕСЛИ ЕСТЬ ОШИБКИ, например)



Достаточно в папке system (для опенкарт 2.* и 3.0) переименовать файлы
  • image_by_sitecreator.ocmod.xml
  • sitecreator.webp_output.ocmod.xml
  • sitecreator.Y.CMS_2.0.ocmod.xml
  • sitecreator.yandex_YML_by_toporchillo.ocmod.xml
в
image_by_sitecreator.ocmod.xml_ (и т.д.)
и обновить кеш ocmod.

Это же самое можно сделать прямо из админки самого модуля Компрессор.
Включенная админка модуля никак не влияет на работу всего остального на сайте, т.к. работает совершенно изолированно и служит исключительно с одной целью - для задания настроек модуля.

Надпись на кнопках "Включить" надо понимать однозначно и буквально. Она означает именно то, что написано - действие, которое будет совершено. Прим. для иностранцев: "Включить" не означает, что включено, и не является индикатором состояния. "Включить" можно считать равносильным "Выключено в данный момент".



Аналогично можно поступить если версия оенкарт 1.5.*
Только в этом случае ищите файл vqmod с похожим названием, переименовывайте его аналогично и обновляйте кеш vqmod. Часто для обновления кеша vqmod достаточно перезагрузить страницу,
но не всегда это так.
 
Последнее редактирование:

sitecreator

Administrator
Команда форума

Совместимость с кеширующими ускорителями.
Универсальный способ.



Для ускорителя Джет (Jet) кеш не нужно производить никаких специальных действий чтобы добиться совместимости, она просто есть изначально. Просто отключите в нем работу с изображениями, lazy Load и отключите минификацию HTML для максимально корректной работы Компрессора.
 
Последнее редактирование:

sitecreator

Administrator
Команда форума

Совместимость с кеширующим ускорителем Nitropack for Opencart ("Nitro")


Информация актуальна для opencart версий 2 и 3



Больше не поддерживается, т.к. разработчик Нитро прекратил его продажу и поддержку.


ВАЖНО IMPORTANT
Модуль Компрессор тестировался с NitroPack 2.5.3, про более свежие и будущие версии не берусь судить


ВАЖНО IMPORTANT
Совместимость нужна для беспроблемного создания и вывода webp в соответствующие браузеры, т.е. в те, которые понимают сжатый формат изображений webp. Остальные браузеры должны также получить изображения, но уже в привычном для них формате jpeg, png соответственно.


Есть два способа достижения совместимости модуля Компрессор и кеширующего ускорителя в плане webp:
  • за счет модификации файла Nitro (на основе ocmod, но с ручным копированием файла)
  • за счет опции "Включить СОВМЕСТИМОСТЬ с любым кеширующим страницы (HTML) УСКОРИТЕЛЕМ!" в настройках модуля Компрессор (наименее предпочтительный способ, его юниверсальность не гарантируются везде и всегда)

ВАЖНО IMPORTANT
Что будет если не включить одним из способов совместимость с кеширующим ускорителем (кешером)? Будет риск отдачи webp в браузер, который не понимает данный формат, т.е. в итоге браузер не сможет отобразить данную картинку.


Если вы не собираетесь использовать на сайте сжатый формат webp, но будете использовать, например, сжатые за счет mozjpeg, optipng форматы jpeg и png соответственно, то нет необходимости беспокоиться о совместимости, т.к. она будет в любом случае между модулем Компрессор и кеширующим ускорителем.

В модуле Компрессор уже содержится встроенная адаптация для кеширующего ускорителя Nitro.
Необходимые модификации содержатся в файле ocmod sitecreator.webp_output.ocmod.xml.
В этом же файле дана инструкция по необходимой ручной модификации одного файла Nitro.

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

Без замены файла /system/nitro/core/top.php не получится добиться полной совместимости модуля Компрессор и Nitro в плане вывода WEBP.

// Данные сведения приведены как информация и руководство к действию для достижения совместимости с кеширующим ускорителем Nitro.
// This information is provided as a guide to achieving compatibility with the Nitro caching accelerator.

// Модифицированный файл будет успешно создан и размещен в /system/storage/modification/system/nitro/core/top.php
// (для opencart 3.0 в соответствующем месте: DIR_STORAGE. 'modification/system/nitro/core/top.php' )
// Но вам нужно будет вручную скопировать (с заменой оригинального файла Nitro) этот модифицированный файл в /system/nitro/core/top.php.

// The modified file will be successfully created and placed in /system/storage/modification/system/nitro/core/top.php
// (for opencart 3.0 in the appropriate place: DIR_STORAGE. 'modification / system / nitro / core / top.php')
// But you will need to manually copy (with replacement of the original Nitro file) this modified file in /system/nitro/core/top.php.

// Модификацию средствами движка Opencart бесполезно делать для Nitro, т.к. оно не позволяет использовать ocmod для себя, оно его просто ИГНОРИРУЕТ.
// И это несмотря на успешно созданный файл модификации для Nitro.

// Modification by means of the Opencart engine is useless to do for Nitro, because it does not allow you to use ocmod for yourself; it simply IGNORES it.
// And this despite the successfully created modification file for Nitro.

Если вы сделали все верно (по приведенной выше инструкции) для включения совместимости модуля Компрессор с ускорителем Nitro, то в настройках модуля появится информационный блок для Nitro:




Альтернативный способ достижения совместимости:
включить опцию "Включить СОВМЕСТИМОСТЬ с любым кеширующим страницы (HTML) УСКОРИТЕЛЕМ!" в настройках модуля Компрессор.
Не стоит использовать одновременно оба способа, т.к. в этом нет смысла, но в тоже время ничего не сломается и работа webp не пострадает, но это уже будет бессмысленная трата ресурсов.




ВАЖНО IMPORTANT
Если вы вручную не сделали модификацию файла Nitro (как указано выше) для достижения максимальной совместимости с модулем Компрессор, то модуль Компрессор сам неявным образом переключится в режим "СОВМЕСТИМОСТИ с любым кеширующим страницы (HTML) УСКОРИТЕЛЕМ! " даже если вы его не выбрали явно. Так сказать, включится "защита от дурака".




Это автоматически обеспечит нормальную совместную работу Nitro и Компрессора даже при наличии некоторых серьезных неверных настроек. Т.е.если вы не выбрали ни одного режима совместимости с Nitro (что неверно), и модуль Компрессор видит, что у вас работает Nitro, то Компрессор делает выбор за вас.

Вышеприведенная информация касается совместной работы модуля Компрессор в режиме создания webp "Форсированный НА ЛЕТУ".
Если для вашего ускорителя (как для Nitro) в модуле Компрессор сделана специальная адаптация и она включена (за счет модификации файла Nitro), то очищать кеш вашего ускорителя необязательно для создания webp.

Но если вы включили опцию "Включить СОВМЕСТИМОСТЬ с любым кеширующим страницы (HTML) УСКОРИТЕЛЕМ!" в настройках модуля Компрессор, то вам необходимо позаботиться об очистке кеша ускорителя.
В этом режиме необходимо как минимум один раз очистить кеш ускорителя перед тем как будут созданы webp для страницы.
Одного раза достаточно если у вас на странице количество изображений меньше или равно заданному ограничению нагрузки для одной страницы "на лету". Вот это ограничение:

Если же у вас на странице много изображений, то задайте соответствующий лимит чтобы они были созданы за одно открытие страницы. Только нужно понимать, что мощность хостинга должна быть соответствующая чтобы все картинки успели быть созданы за лимит времени, который у вас установлен на хостинге (это обычно в пределах 30-60 сек для php).

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

Если включен режим по расписанию (cron)


Чтобы не заботиться о тормозах страницы во время создания webp вы можете включить режим создания webp по расписанию (cron). Если у вас выключена опция "Включить СОВМЕСТИМОСТЬ с любым кеширующим страницы (HTML) УСКОРИТЕЛЕМ!", то кеш ускорителя можно не очищать или очистить один раз.
Но если у вас включена опция "Включить СОВМЕСТИМОСТЬ с любым кеширующим страницы (HTML) УСКОРИТЕЛЕМ!", то в таком случае вам нужно будет всего два раза очистить кеш ускорителя: один раз перед началом создания webp, а второй раз - после создания webp. Если в вашем ускорителе работает самоочистка его кеша через определенный период (например, через 3 дня), то для вас задача упрощается, т.е. ускоритель сам позаботится об актуальном кеше.

Если вы вовремя не очистили кеш ускорителя, то ничего страшного не произойдет, просто не будут созданы все возможные webp и/или не будет возможности их все вывести в браузер. Т.е. визуально ничего не произойдет. Но как только вы сделаете очередную очистку кеша ускорителя, то исправите ситуацию.

ВАЖНО IMPORTANT
Не нужно очищать кеш изображений!


Для создания webp не требуется очистка уже созданных в кеше jpeg, png. Лишняя очистка кеша изображений также ничего страшного не сулит, но это приводит к лишней трате ресурсов сервера. Делайте это лишь по необходимости.

ВАЖНО IMPORTANT
Модуль тестировался с NitroPack 2.5.3, про более свежие и будущие версии не берусь судить
 
Последнее редактирование:

sitecreator

Administrator
Команда форума

Совместимость с кеширующим ускорителем Турбо




Чтобы при работающем модуле Turbo (ускоритель-кешеровщик) нормально работал режим формирования и отдачи в браузер формата WEBP необходимо:

В папке system заменить оригинальный файл turbo.ocmod.xml на файл с таким же названием, но из поставки модуля Компрессор.
Он находится в одной из подпапок папки ocmod_for_turbo_php_5.6_for_Compressor_2+ (это папка поставки).
Соответственно для opencart.pro 2.3 этот файл находится в папке:

ocmod_for_turbo_php_5.6_for_Compressor_2+/opencart.pro_2.3

После этого необходимо обновить кеш модификаторов (ocmod).

В настоящее время только для версии opencart 2.3 есть специально написанный программный код для полной совместимости Турбо и Компрессора.
Для версии opencart 2.1 используйте в модуле Компрессор режим совместимости с любым кеширующим ускорителем (включается прямо в админке модуля Компрессор).

======================
Не забывайте, что для формирования WEBP в кеше изображений необходимо очистить кеш Турбо.
Для формирования WEBP необходимо чтобы соответствующий JPEG/PNG был уже сформирован в кеше.
Поэтому если в кеше еще нет JPEG/PNG, то после первой очистки кеша Турбо сначала формируется JPEG/PNG, а после второй очистки формируется WEBP.
Это касается режима работы "на лету". Так сделано специально чтобы уменьшить нагрузку на сервер при полной очистке кеша изображений.
Формирование изображений разделено поэтому на два этапа.
Если кешер выключен, то WEBP формируется просто при втором открытии страницы.

===================
Если вы используете модуль Компрессор версии 2.*.* (или новее), то вам нужно обязательно установить новый ocmod из папки ocmod_for_turbo_php_5.6_for_Compressor_2+,
либо можете использовать универсальный способ совместимости с любым ускорителем. Но использование специального файла для Турбо - это предпочтительный метод.
 
Последнее редактирование:

sitecreator

Administrator
Команда форума
Обновление

Достаточно загрузить новую версию модуля через загрузчик ocmod поверх старой. Но внимательно смотрите чтобы у вас были включены только те ocmod, которые необходимы. Отключите ненужные! Это можно сделать прямо в настройках модуля или путем переименования (или удаления) соответствующих ocmod-в модуля в папке system с последующим обновлением модификаторов.


ВАЖНО IMPORTANT
Отключите ненужные ocmod!

ВАЖНО IMPORTANT
Админбар в новых версиях больше не поддерживается. Его ocmod должен быть отключен если он остался от старой версии!


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




Обновление кеша модификаторов.
 
Последнее редактирование:

sitecreator

Administrator
Команда форума

Я нашел одну (две...) картинку, которую Компрессор не переводит в WEBP, почему?



Какие символы в адресе картинки URI/URL модуль Компрессор воспринимает как верные (валидные), а на какие не реагирует?
Это к вопросу
а почему модуль картинку
Код:
Doska заборнаяMPK,281,29.jpg
не преобразовал в WEBP?
Потому, что символы пробела, запятой и кириллица в принципе не должны быть в URI/URL. Эти символы могут быть в названии файла при использовании их внутри ОС Linux, Windows, но не могут быть в URI/URL согласно стандарту RFC3986. Согласно стандарту кроме латинских букв и цифр могут быть еще только следующие знаки в названии файла, передаваемом в URL :
Код:
- _ . ~
Все остальные символы URL (вроде той же кириллицы, арабской вязи и т.д. и т.п.) в названии файла (папки) должны быть обязательно закодированы. Процентно-кодированный символ представляет из себя символьный триплет, состоящий из знака "%" и следующих за ним двух шестнадцатеричных чисел.
Спецсимволы вроде : & ? и т.п. используются в URI/URL для специальных целей.

Вот так должно выглядеть название файла Doska заборнаяMPK,281,29.jpg в URI/URL:
Код:
Doska%2520%D0%B7%D0%B0%D0%B1%D0%BE%D1%80%D0%BD%D0%B0%D1%8FMPK%252C281%252C29.jpg
Т.е., как видите, никаких пробелов, запятых и кириллицы быть не должно в URL. Для картинок, которые обрабатывает движок получается именно такого вида URL. Если у вас это не так, то это значит, что, возможно, один из основополагающих механизмов движка поломан или намеренно изменен неграмотным образом. Или просто используется сторонний код, автор которого не предполагал, что в названии файла может быть помимо латиницы и цифр нечто иное. Вообще, в принципе использование в названиях файлов пробелов, кириллицы и т.д. - дело неблагодарное, т.к. это всегда приводит рано или поздно к некоторым неудобствам или неприятностям. Но в идеальном мире правильно URL-кодированные такие имена не должны приводить к проблемам.

Движок Opencart использует для кодирования "неправильных" символов функцию rawurlencode, которая как раз работает по стандарту RFC3986. Откуда тогда берутся на странице невалидные URI/URL (ссылки)? Из-за ошибок, когда ухитряются непонятными способами все же разместить в итоговом коде такие запрещенные стандартом URI/URL. Почему же браузер показывает изображения по таким неверным ссылкам? Потому, что браузеры научились исправлять многие ошибки, причем, даже нередко очень грубые ошибки. Но верно исправить ошибку браузер может не всегда и не везде, да и не любой браузер.

ВАЖНО IMPORTANT
Модуль Компрессор во избежании непредвиденных ситуаций не пытается обработать изображения со странными URL. Потому, что таких URL в исправном движке Opencart в принципе не должно быть.


Конечно, ничто не мешает пользователю руками вбить в код HTML какую-угодно ссылку. Но, как минимум, сам движок при обработке изображений дает для них валидный URL. Движок Opencart всегда работает по стандарту RFC3986. Модуль Компрессор тоже работает в полном соответствии с этим стандартом. Попытка обработки невалидных (не соответствующих стандарту) ссылок на изображения может привести к непредсказуемым коллизиям, глюкам и багам, а потому такая обработка не производится, сами невалидные ссылки не приветствуются, но и не мешают нормальной работе Компрессора, нестандартные ссылки просто игнорируются. Все это сделано ради повышения общего уровня надежности и стабильности работы сайта.

ИТОГ. Для внутреннего использования внутри операционной системы название файла может содержать самые разные символы, буквы различных алфавитов и определенные специальные символы. Но для внешнего использования (когда веб-сервер передает информацию в браузер) URL, в котором будут представлены подобные названия файлов, определенным образом кодируется.
 
Последнее редактирование:

sitecreator

Administrator
Команда форума

Что делать если движок opencart сильно изменен на глубинном уровне и/или используется шаблон ("тема"), который вносит изменения в системную библиотеку (image.php)?



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

Для этого нужно оставить работающим только единственный ocmod модуля sitecreator.webp_output.ocmod.xml. Остальные ocmod-ы модуля должны быть отключены. Это можно сделать прямо из админки самого модуля. Вот так выглядит такое состояние, когда работает только webp + lazy load.





В таком случае вам будут доступны все указанные на скриншоте возможности webp + lazy load.

 
Последнее редактирование:

sitecreator

Administrator
Команда форума

CRON



Настройка cron для www.ukraine.com.ua довольно мудреная. Поэтому тут сделаю уточнение.

Работа php cli по расписанию будет без ioncube loader по умолчанию.

Чтобы работал ioncube loader нужно будет подключить файл конфигурации дополнительно - это файл ini для вашего php, который вы используете в работе сайта.



итак, команда cron будет такая (как пример):



/usr/local/php56/bin/php -c /home/ug556677/.system/php/www.site.ua.ini -f /home/ug556677/site.ua/www/cli-php/sitecreator/cron_test_webp.php "fffffeeeedddddd" >/dev/null 2>&1



ug556677 - это ваша корневая папка пользователя Linux у хостера. В ней находятся папки ваших сайтов.

site.ua - ваш сайт. Конфиг всегда указывается с идущим вначале www

php56 - версия php, которую вы используете на сайте (5.6 как пример)

fffffeeeedddddd - ключ, полученный на странице настроек модуля Компрессор.


Можно не добавлять вручную -c /home/ug556677/.system/php/www.site.ua.ini , а воспользоваться для этого опцией "Использовать настройки php текущего сайта ".
Только не нужно включать одновременно эту опцию и добавлять вручную путь к файлу ****.ini. Иначе у вас будет дублирование.



 
Последнее редактирование:
Статус
Закрыто для дальнейших ответов.
Верх