Minishop2 умеет добавлять водные знаки при генерации превью. Но мне надо, чтобы в параметрах для вызова phpthumb были не статические значения (100x200), а динамические. Я хочу, чтобы водный знак был не строго определенного размера. А размер вычислялся от ширины и высоты картинки, на которую накладывается водный знак.
Возможно ли это сделать средствами Minishop2? Или нужно свои велосипеды делать?
В настройке источника файлов есть такая: thumbnails. В нее можно вводить значения. Но эти значения статические. А мне нужно, чтобы они вычислялись динамически - в зависимости от размеров картинки.
Есть идеи?
Идешь в файл модели msProductFile Там смотришь метод generateThumbnails. В нем закладываются значения по умолчанию, а также значения из источника файлов. Вот где то там перезаписываешь на свою логику
Но менять файлы плагина - это плохая практика. В системных настройках я не нашел возможность переопределять файл модели.
Не плагина а компонента. Другого варианта нет.
https://webstool.ru/modx-pthumb.html
@s0me_60dy или так, или как написали выше...
++ Статья огонь
Точняк! Зачем делать плохие практики, а потом еще и перегенерировать все картинки, если можно использовать сниппет, который будет создавать превьюшку с водным знаком при выводе картинки пользователю.
проблема в том что при такой реализации практически теряется смысле компонента генерирующего изображения)
Расширять и дополнять классы - нормальная практика. Не надо ля ля. Зато сниппеты каждый раз после очистки кэша будут загружать каталог по самое не балуй
Потом кто-то обновил плагин. И начнутся проблемы...
Ресайзить изображение в рантайме? На тысяче картинок это сколько будет работать, 40 лет ? 😄
а 1000 картинок сразу на страницу сколько загружаться будет? - тоже примерно столько же...)))
1000 картинок на одной странице? Это мощно...
ага)))).... профессионалы...)))... ( других не держим)..)))
Да мы и этого не держим. Он тут только чтобы фотки из Черногории кидать
Может лучше перебрать товары и относительно размеров сделать варианты размеров знаков? Это же отдельно просто скрипт запускать
Да десяток способов можно придумать
Обсуждают сегодня