К основному контенту

opencart водяной знак

Мне приглянулся один модуль водяных знаков для картинок так как там всего один файл - xml для vqmod
Но этот модуль не совместим с моей версией opencart. У меня 1.5.6.4.1, но статья подойдёт всем, у кого та же ситуация. Если у вас другая версия, то просто используйте эту статью как методичку. Принцип для других версий один и тот же.


Что мне пришлось исправить в файле oc_image_watermark.xml
Полностью удалил первый блок <file>

<file name="system/library/image.php">
<operation>
<search position="replace"><![CDATA[$watermark = $this->create($file);]]></search>
<add><![CDATA[$watermark = imagecreatefrompng($file);]]></add>
</operation>
<operation>
<search position="before"><![CDATA[case 'bottomright':]]></search>
<add><![CDATA[
case 'center':
$watermark_pos_x = ($this->info['width']- $watermark_width)/2;
$watermark_pos_y = ($this->info['height']- $watermark_height)/2;
break;
]]></add>
</operation>
<operation>
<search position="replace"><![CDATA[imagecopy($this->image, $watermark, $watermark_pos_x, $watermark_pos_y, 0, 0, 120, 40);]]></search>
<add><![CDATA[imagecopy($this->image, $watermark, $watermark_pos_x, $watermark_pos_y, 0, 0, $watermark_width, $watermark_height);]]></add>
</operation>
</file>

Во втором блоке заменил

<search position="before"><![CDATA[public function resize($filename, $width, $height, $type = "") {]]></search>
<add><![CDATA[
public function resize_watermark($filename, $width, $height, $type = "") {

на

<search position="before"><![CDATA[public function resize($filename, $width, $height, $type = "") {]]></search>
<add><![CDATA[
public function resize_watermark($filename, $width, $height, $type = "") {

и в том же блоке заменил

$image->watermark(DIR_IMAGE . 'watermark.png', 'center');
на
$image->watermark(DIR_IMAGE . 'watermark.png', 'bottomleft');

И последний блок If заменил

if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) {
return HTTPS_IMAGE . $new_image;
} else {
return HTTP_IMAGE . $new_image;
}

на

if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) {
return $this->config->get('config_ssl') . 'image/' . $new_image;
} else {
return $this->config->get('config_url') . 'image/' . $new_image;
}

Всё. После этого залил на сервер и удалил кэш картинок. Должно работать.

Комментарии

Популярные сообщения из этого блога

Вывод SKU (артикула) на странице категорий или карточках товаров в Opencart

17 апреля 2014 By Сергей Нечипорук 24 комментария Здравствуйте читатели моего блога. Случаются ситуации, когда клиенты просят вывести артикул в категориях интернет магазина. Зачем это нужно, я не совсем понимаю, как с точки юзабилити так и с точки логики, но это их дело. Чтобы осуществить эту задачу нужно проделать ряд несложных действий. 1.) Подключаемся к ftp нашего сайта и заходим в директорию — upload/catalog/controller/product/. В ней находим файл — category.php. Именно его мы и будем править. Находим строчку кода: 'name'         => $result [ 'name' ], И под ней дописываем следующее: 'sku'          => ( empty ( $result [ 'sku' ])) ? '' : $this ->language->get( 'text_sku' ) . ' ' . $result [ 'sku' ], 2.) Теперь подключим языковую переменную. Для этого переходим в директорию — upload/catalog/languag

Clean-param: tracking синтаксис не распознается Вебмастер Гугл

В вебмастере google обнаружил такую ошибку в разделе "Сканирование" - "инструмент проверки файла robot.txt"   - Clean-param: tracking  - синтаксис не распознаётся на форумах читаю,

Фиксируем кнопку при прокрутке. Используем Intersection Observer JavaScript API

При прокрутке колесика вниз - кнопка подымается вверх экрана. Это обычное поведение всех элементов.  Но наша задача сделать так, что бы кнопка задержалась вверху экрана и не ушла выше. Задержалась и замерла в своей секции. Как только секция закончиться, то кнопка скрывается вверху экрана и уступает место следующей секции.  Верстаем простенький шаблон. Хэдеру и Футеру делаем фон серенький и задаем высоту около 100 пикселей. А в контенте будут секции, которые разбиваем на три одинаковые колонки.  В первой колонке будет только кнопка,  с которой будем работать. А в двух остальных - произвольный текст. И продублируем эту секцию четыре раза. Для массовости.  Все шаблон готов.  Далее нам нужно отслеживать viewport - видимый контент. Когда блок, в которой находится кнопка, прибывает в зоне видимости, то кнопку необходимо фиксировать в верхней части, когда она ее достигнет. Такое можно добиться свойством css sticky. Остается только добавлять и удалять его к нашей кнопке в нужный момент.  Стак