Opencart 2.x - Watermark (водяной Знак)

Тема в разделе "Модули и дополнения", создана пользователем admin, 12 ноя 2017.

  1. TopicStarter Overlay
    Offline

    admin Команда форума Администратор

    Сообщения:
    2.485
    Симпатии:
    93.131
    Репутация:
    175
    Создайте изображение в формате .png. Сохраните его с именем 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');
    }
    Обновите модификаторы и очистите кэш.
     
  2. Offline

    blade0220 Пользователь

    Сообщения:
    4
    Симпатии:
    0
    Репутация:
    0
    Здравствуйте!!! А как быть с версией 2.1.0.2, не подскажите?