Рубрики
Блог

Создание водяного знака для OpenCart и ocStore

Подготовьте сам водяной знак с названием 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”

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *