Создайте изображение в формате .png 500х500 px.
Сохраните его с именем watermark.png и загрузите в директорию /image вашего сайта.
Для сборки 2.3.0.2 достаточно внести изменения в одном файле.
Откройте файл image.php находящийся в директории /catalog/model/tool/
после строки
$image = new Image(DIR_IMAGE . $image_old);
добавьте
$image->watermark(new Image(DIR_IMAGE . 'watermark.png'), 'middlecenter');
middlecenter - это позиция водяного знака отображающая его по центру изображения товара.
Позиция может принимать следующие значения:
topleft - левый верхний угол
topcenter - сверху по центру
middleleft - слева посередине
middleright - справа посередине
bottomleft - внизу слева
bottomcenter - снизу по центру
bottomright - внизу справа
Сохраните файл и перейдите в раздел модификаторы панели администратора сайта. Нажмите кнопку обновить.
После этого необходимо удалить изображения находящиеся в кэше opencart.
Для этого перейдите в директорию/image/cache/ и удалите раздел в котором находятся кэшированные изображения товаров.
В моем случае это catalog.
Очистите кэш браузера и перейдите на сайт.
Теперь все изображения товаров отображаются на сайте с водяным знаком находящимся в центре.
Чтобы водяной знак накладывался только на определенные изображения, допустим в карточке товара, необходимо указать размеры изображений для которых будет применен watermark. В моем случае это 450px и 600px.
Замените добавленную ранее строку
$image->watermark(new Image(DIR_IMAGE . 'watermark.png'), 'middlecenter');
на
if ($width == 450 || $height == 450) {
$image->watermark(new Image(DIR_IMAGE . 'watermark.png'), 'middlecenter');
}
if ($width == 600 || $height == 600) {
$image->watermark(new Image(DIR_IMAGE . 'watermark.png'), 'middlecenter');
}
или если нужно ставить водяной знак на изображения больше какого-то размера:
if ($width > 450 || $height > 450) {
$image->watermark(new Image(DIR_IMAGE . 'watermark.png'), 'middlecenter');
}
Обновите модификаторы и очистите кэш.