Правила nginx для корректной работы CS-Cart с Watermarks

В корневой папке пользователя (/home/username) нужно создать файл nginx.conf и добавить такое правило:

 

if ($request_uri ~ "\/images\/(product|category|detailed|thumbnails)\/*"){
    rewrite .(gif|jpeg|jpg|png)$ /index.php?dispatch=watermark.create;
}

 

В файле конфигурации CS-Cart config.local.php включить параметр lazy_thumbnails:

 

 

По умолчанию вотермарки создают дополнительную нагрузку на базу, потому так же нужно добавить индексы в базу данных сайта:

 

ALTER TABLE cscart_images_links ADD INDEX image_id (image_id);

ALTER TABLE cscart_images_links ADD INDEX detailed_id (detailed_id);

(Соответственно, если таблица cscart_images_links).

 

Решение проблем с отображением иконки на детальной странице товара

В файле config.php базовое ограничение высоты иконки для lazy_thumbnails установлено в 720:

 

$config['lazy_thumbnails'] = array(
    'max_width' => 1280,
    'max_height' => 720
);

 

Если в админке сайта Настройки > Иконки в параметре Высота иконки на детальной странице товара указано значение больше чем значение в файле config.php, то иконки не генерируются.

Для решения проблемы нужно или уменьшить Высоту иконки на детальной странице товара, либо увеличить значение $config['lazy_thumbnails']['max_height'] (это следует сделать в файле local_config.php, так как при обновлении файл config.php будет заменен на стандартный).

 

Внимание! Если в CS-CART включен модуль "Поддержка HiDPI", то значения ограничений следует увеличить вдвое.

Статьи о CS-Cart