Подготовьте сам водяной знак с названием watermark.png
, данное изображение должно иметь прозрачный фон, и загрузите изображение в корневую папку /image
.
Данная инструкция рассчитана для OpenCart или ocStore версий 2.3. Достаточно будет внести изменения только в одном файле.
Откройте файл 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 — внизу справа.
После чего сохраните файл и перейдите в раздел Дополнения > Менеджер дополнений в панели администратора сайта. И нажмите кнопку – обновить.
Далее вам необходимо удалить изображения, находящиеся в кэше. Для этого перейдите в директорию /image/cache/
и удалите раздел в котором находятся кэшированные изображения, или для версии ocStore 2.3 в админки перейдите в раздел Система > Инструменты > OC Team и выпоните действие по очистке кэша.
Возвращаясь на сайт — очистите кэш браузера. Теперь все изображения на вашем сайте будут отображаться с водяным знаком.
Если вы хотите сделать, что бы watermark накладывался только на определенные изображения, скажем, только на товары, то укажите размеры этих изображений. К примеру, нужно наложить водяной знак на изображения размеров 450px и 600px.
Следовательно, нужно заменить ранее добавленную строчку кода:
$image->watermark(new Image(DIR_IMAGE . 'watermark.png'), 'middlecenter');
на модернизированную:
if ($width == 498 || $height == 498) {
$image->watermark(new Image(DIR_IMAGE . 'watermark.png'), 'middlecenter');
}
if ($width == 600 || $height == 600) {
$image->watermark(new Image(DIR_IMAGE . 'watermark.png'), 'middlecenter');
}
И проделайте все действия по обновлению дополнений, и очистите кэш изображений.
2 ответа к “Создание водяного знака для OpenCart и ocStore”
Подскажите, у меня на всех изображениях товара водяной знак в разных местах показывается, а не по центру, что делать?
Обновите модификаторы, очистите кэш изображений и кеш браузера.