Перейти к содержанию
MFX

Вопрос по водяному знаку для сайта

Рекомендуемые сообщения

Здравствуйте!

 

Сделал водяной знак, согласно инструкции:

Спойлер

Откройте файл 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.

В настройках шаблона магазина у меня прописаны следующие значения для размеров изображений в карточке товара.

Screenshot_9.jpg

Добавьте в файл /catalog/model/tool/image.php условие с размерами изображений для обработки.

Замените добавленную ранее строку

 


$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');
}

 

Screenshot_10.jpg

 

В целом все работает на ура. Водяной знак появился, но прям на всех изображениях.

 

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

 

Что именно можно указать, чтобы он присваивался конкретным папкам?)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
27 минут назад, Tom сказал:

Установил, но чет с ним не так. Как только устанавливаю, сайт выдает страницу 500(белый экран) (не админка, она работает, а сам сайт на любой странице нет)

 

Удаляю из менеджера дополнений, сайт вновь работает!

 

Похоже из-за того что тема не стандартная и надо править ocmod!? Или я ошибаюсь!?

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@MFX ,  могу порекомендовать обратить внимание на:

 

 

 

Решит все ваши вопросы и проблемы с изображениями. Плюс масса полезного кроме водяного знака.  Например, поднятие оценки Гуглом вашего сайта.

Не бесплатно, конечно. Но зато и проблем никаких. Конечно, если вы цените свое время.

 

Также помните, что наложив водяной знак на изображения, вы оставляете небезопасными ваши исходники. Их все равно можно скачать.

Модуль "Компрессор & Водяной знак"  решит и эту проблему путем засекречивания путей к исходникам.

Аналог можете не искать если вас интересует весь спектр возможностей Компрессора - их просто нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
17 минут назад, sitecreator сказал:

@MFX ,  могу порекомендовать обратить внимание на:

 

 

 

Решит все ваши вопросы и проблемы с изображениями. Плюс масса полезного кроме водяного знака.  Например, поднятие оценки Гуглом вашего сайта.

Не бесплатно, конечно. Но зато и проблем никаких. Конечно, если вы цените свое время.

 

Также помните, что наложив водяной знак на изображения, вы оставляете небезопасными ваши исходники. Их все равно можно скачать.

Модуль "Компрессор & Водяной знак"  решит и эту проблему путем засекречивания путей к исходникам.

Аналог можете не искать если вас интересует весь спектр возможностей Компрессора - их просто нет.

 

В данном случае нужна только приколюха ввиде водяного знака! До исходников плевать, пусть качают если нужно!)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
5 минут назад, MFX сказал:

В данном случае нужна только приколюха ввиде водяного знака!

 

ну если вам только для прикола, тогда разбирайтесь с вашей нестандартной темой.  Напишите код для работы с "определенными папками с изображениями".

Это не так уж и сложно если понимаете php.

У меня (Компрессор & водяной знак) с нестандартными темами нет проблем, даже с journal 2. Да и доработка (если нужно) под шаблон делается бесплатно.

 

1 час назад, MFX сказал:

а по определенным папкам с изображениями

 

у меня и это все решено.  как и масса других моментов.

 

Вам ведь это нужно было, вроде бы, но вы смотрите на модуль, который этого не умеет, это раз.  И два, он не совместим с вашей темой.

Так какой смысл смотреть на дополнение, которое все равно не выполнит нужные вам функции?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
48 минут назад, sitecreator сказал:

 

ну если вам только для прикола, тогда разбирайтесь с вашей нестандартной темой.  Напишите код для работы с "определенными папками с изображениями".

Это не так уж и сложно если понимаете php.

У меня (Компрессор & водяной знак) с нестандартными темами нет проблем, даже с journal 2. Да и доработка (если нужно) под шаблон делается бесплатно.

 

 

у меня и это все решено.  как и масса других моментов.

 

Вам ведь это нужно было, вроде бы, но вы смотрите на модуль, который этого не умеет, это раз.  И два, он не совместим с вашей темой.

Так какой смысл смотреть на дополнение, которое все равно не выполнит нужные вам функции?

 

Мне надо добавить лишь водяной знак, без сжатия, без защит, без разного рода приколюх. К картинкам товаров! Для данного сайта. Зачем мне покупать модуль за 2099р., если мне тут нужно только водяной знак разместить!? Я же писал выше, я сделал водяной знак, согласно инструкции и он спокойно встал, без всяких проблем. Только он встал на все картики которые только есть. По этому и был изначальный вопрос, о возможности прикрепления к папкам определенным.

 

Согласен, есть сайт, куда бы я ваш модуль задействовал, так как там картинок на 50гб только! И там я бы воспользовался вашим модулем!

 

НО ТУТ ТО МНЕ ТОЛЬКО ВОДЯНОЙ ЗНАК НУЖЕН, ЗАЧЕМ ради водяного знака покупать модуль, стоимостью 2099р на один сайт!?!?!

 

 

 

З.Ы. Кстати шаблон Unity Store 3.0 Filter

Изменено пользователем MFX

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
24 минуты назад, MFX сказал:

НО ТУТ ТО МНЕ ТОЛЬКО ВОДЯНОЙ ЗНАК НУЖЕН, ЗАЧЕМ ради водяного знака покупать модуль, стоимостью 2099р на один сайт!?!?!

 

Согласен, незачем если у вас есть варианты.

Например, просто водяной знак от неoseо за 1999 р. + 1999р (в год за обновление).  Там есть то, что вам нужно.

 

Или Вы можете самостоятельно доработать существующий бесплатный модуль или "водяной знак, сделанный согласно инструкции".

Либо можете заплатить специалисту те же 2090 р., который вам сможет доработать под ваши нужды и под ваш шаблон тот самый бесплатный модуль.

Бесплатно кто-то вряд ли сделает, но не исключаю, что это может быть дешевле чем 2090 р. Тут все спецы желают не менее $20 в час получать за нестандартные работы. Может быть кто-то сделает за час.

 

Также можете попытаться поискать решение среди других платных модулей. Главное чтобы поддержка была (под ocstore), а то можете опять получить неработающий вариант.

Т. е. выбор у вас довольно большой.

 

От неработающего, но бесплатного модуля, до 2090 р.

Вы всегда можете что-то найти в промежутке.

Выбор только за вами!

 

40 минут назад, MFX сказал:

шаблон Unity Store

 

у меня не было проблем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
48 минут назад, sitecreator сказал:

 

Согласен, незачем если у вас есть варианты.

Например, просто водяной знак от неoseо за 1999 р. + 1999р (в год за обновление).  Там есть то, что вам нужно.

 

Или Вы можете самостоятельно доработать существующий бесплатный модуль или "водяной знак, сделанный согласно инструкции".

Либо можете заплатить специалисту те же 2090 р., который вам сможет доработать под ваши нужды и под ваш шаблон тот самый бесплатный модуль.

Бесплатно кто-то вряд ли сделает, но не исключаю, что это может быть дешевле чем 2090 р. Тут все спецы желают не менее $20 в час получать за нестандартные работы. Может быть кто-то сделает за час.

 

Также можете попытаться поискать решение среди других платных модулей. Главное чтобы поддержка была (под ocstore), а то можете опять получить неработающий вариант.

Т. е. выбор у вас довольно большой.

 

От неработающего, но бесплатного модуля, до 2090 р.

Вы всегда можете что-то найти в промежутке.

Выбор только за вами!

 

 

у меня не было проблем.

 

Спасибо!)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я для одной работёнки нашёл прогера по PHP, который задачу выполнил за 600р... когда все остольные просили не меньше 10к на этом форуме)

как вариант, есть форумы где сидят PHP прогеры и можно у них задать Ваш вопрос. Они менее алчные и чаще помогают советами) и не привязаны к opencart))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
11 часов назад, MFX сказал:

Здравствуйте!

 

Сделал водяной знак, согласно инструкции:

  Показать контент

Откройте файл 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.

В настройках шаблона магазина у меня прописаны следующие значения для размеров изображений в карточке товара.

Screenshot_9.jpg

Добавьте в файл /catalog/model/tool/image.php условие с размерами изображений для обработки.

Замените добавленную ранее строку

 



$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');
}

 

Screenshot_10.jpg

 

В целом все работает на ура. Водяной знак появился, но прям на всех изображениях.

 

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

 

Что именно можно указать, чтобы он присваивался конкретным папкам?)

Ммм. а в чем проблема запускать вот это $image->watermark(new Image(DIR_IMAGE . 'watermark.png'), 'middlecenter'); в работу только при условии, что папка, откуда берете изображение, находится в массиве названий папок для которых нужна вотермарка?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
12 часов назад, MFX сказал:

Установил, но чет с ним не так. Как только устанавливаю, сайт выдает страницу 500(белый экран) (не админка, она работает, а сам сайт на любой странице нет)

 

Удаляю из менеджера дополнений, сайт вновь работает!

 

Похоже из-за того что тема не стандартная и надо править ocmod!? Или я ошибаюсь!?

 

 

После установки включить и настроить в админке.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 часа назад, niger сказал:

Ммм. а в чем проблема запускать вот это $image->watermark(new Image(DIR_IMAGE . 'watermark.png'), 'middlecenter'); в работу только при условии, что папка, откуда берете изображение, находится в массиве названий папок для которых нужна вотермарка?

Можно подробнее!?)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 часа назад, Tom сказал:

После установки включить и настроить в админке.

Попробовал.

 

После того как залил файлы, установил окмод, нажимаю обновить в менеджере обновлений, сразу сайт отрубается(ну не админка, а сам сайт). Настраивай не настраивай через дополнения(водяной знак) в админе, ничего не появляется, белый экран, ошибка 500!

Просмотрел файлы окмода и файлы что заливаются на сайт, чет прям ничего не понял, фактически визуальной части не касается, но при этом все равно белый экран!

Пробовал перезалить, заново установить, все равно то же самое. Стоит только нажать обновить в менеджере обновлений, сразу белый экран, потом отключаешь дополнение и все работает вновь!

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 часа назад, MFX сказал:

Можно подробнее!?)

 

ну как вариант

if ( preg_match("/ваша папка с картинками/i", $path)) {

$image->watermark(new Image(DIR_IMAGE . 'watermark.png'), 'middlecenter');
 }

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 часа назад, alena967 сказал:

 

ну как вариант

if ( preg_match("/ваша папка с картинками/i", $path)) {

$image->watermark(new Image(DIR_IMAGE . 'watermark.png'), 'middlecenter');
 }

 

Перепробовал все вариации и так и так, похоже я не догоняю что и куда и откуда

Начинал с этого:

if (preg_match("/image/catalog/tovary/i", $path)) {
    $image->watermark(new Image(DIR_IMAGE . 'watermark.png'), 'middlecenter');	
}

И с i и без i и просто папку указывал и и сокращенно папку указывал выражение с # вместо / и указывал до пути папки с кешированными изображениями и что только не делал за эти 4 часа! Чет пока не вышло ничего! Либо куча ошибок ссылающихся на неправильный символ, либо вообще ничего не происходит!

 

Если просто вот так:

$image->watermark(new Image(DIR_IMAGE . 'watermark.png'), 'middlecenter');

То показывает вообще на всех изображениях, кроме слайдшоу.

 

 

Я запутался!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
7 часов назад, MFX сказал:

Попробовал.

 

После того как залил файлы, установил окмод, нажимаю обновить в менеджере обновлений, сразу сайт отрубается(ну не админка, а сам сайт). Настраивай не настраивай через дополнения(водяной знак) в админе, ничего не появляется, белый экран, ошибка 500!

Просмотрел файлы окмода и файлы что заливаются на сайт, чет прям ничего не понял, фактически визуальной части не касается, но при этом все равно белый экран!

Пробовал перезалить, заново установить, все равно то же самое. Стоит только нажать обновить в менеджере обновлений, сразу белый экран, потом отключаешь дополнение и все работает вновь!

 

И что в логах ошибок сервера ? Что если вывести ошибки на экран?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
25 минут назад, Tom сказал:

И что в логах ошибок сервера ? Что если вывести ошибки на экран?

Parse error: syntax error, unexpected '}', expecting end of file in /home/u370803502/public_html/system/storage/modification/catalog/model/tool/image.php on line 63

 

одна единственная!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пробуйте заменить в последнем участке модификатора, там где он вносит правки в файл image.php , цифру 10 скажем на 15

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В ocmod файле идет следующая часть кода:

<file path="catalog/model/tool/image.php">
    <operation>
      <search>
        <![CDATA[class ModelToolImage extends Model {]]>
      </search>
      <add position="before">
        <![CDATA[
		/*
class ModelToolImage extends Model {
        ]]>
      </add>
    </operation>
    <operation>
      <search index="10">
        <![CDATA[}]]>
      </search>
      <add position="after">
        <![CDATA[
        */
		require_once DIR_APPLICATION . 'model/extension/module/watermark/image.watermark.php';
        ]]>
      </add>
    </operation>
  </file>

В самом модифицированном файле закрывается  /* */ полностью участок кода из image.php и добавляется

require_once DIR_APPLICATION . 'model/extension/module/watermark/image.watermark.php';
    

За ним следует кусочек:  
            return $this->config->get('config_url') . 'image/' . $new_image;
        }  -  на эту скобку ругается ошибка syntax error, unexpected '}'  на строке 63! (но если ее удалить, она ругается на следующую. и т.д.

    }

}

 

И все! А почему так, не могу понять!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все верно, потому что подключается другой файл из модуля, а количество строк не совпадает и строка вписывается до нужного места.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 минуты назад, Tom сказал:

Все верно, потому что подключается другой файл из модуля, а количество строк не совпадает и строка вписывается до нужного места.

Добавил, вылезло следующее:

Цитата

Warning: Unterminated comment starting line 3 in /home/u370803502/public_html/system/storage/modification/catalog/model/tool/image.php on line 3
Warning: Invalid argument supplied for foreach() in /home/u370803502/public_html/system/storage/modification/system/engine/loader.php on line 53Notice: Undefined property: Proxy::resize in /home/u370803502/public_html/system/storage/modification/system/engine/loader.php on line 178

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
38 минут назад, Tom сказал:

Все верно, потому что подключается другой файл из модуля, а количество строк не совпадает и строка вписывается до нужного места.

 

Все огонь!) Сделал!)

 

<search index="10">   надо было вместо 10 указать <search index="13"> и все встало без проблем!)

 

@Tom  Спасибо большое!) Огромное спасибо!) Безумно благодарен!)

Изменено пользователем MFX

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день уважаемые форумчани. Я не специалист поэтому решил обратится к Вас за помощью.

 

Ситуация следующая. у меня стоит система opencart pro 2.3.x.x там есть встроенная система sitemap я включил ее. Он выдает две ссылки на яндекс и на гугл. На яндекс все работает без проблем. А на гугл долго долго думает и выдает следующее Fatal error: Maximum execution time of 60 seconds exceeded in /home/c20506/public_html/ххххххх/catalog/model/extension/module/watermark/image_watermark.php on line 234 

Так я не специалист я не знаю что делать. Подскажите пожалуйста в чем проблема и как ее решить.

Вот строка на которую ссылается

$srcPixel = imageColorsForIndex($srcImg, $srcImgColorat);

 

Заранее благодарен за помощь. Если написал не в эту тему простите за это.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вписали не в ту тему. Ошибка из за того что товару много, а хостинг слишком слабый что бы выдержать нагрузку при создании файла сатмапа.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.