Водяной знак(watermark) на изображения для opencart 2.3.0.2 без модулей

Создайте изображение в формате .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');
}

Обновите модификаторы и очистите кэш.

Все материалы сайта не претендуют на безусловную правильность, а являются лишь примерами решения некоторых задач.
Copyright © 2025 wetweb.ru