Автоматическая обрезка и увеличение изображений в Prestashop 1.5 (вместо белого фона)

Тема в разделе "PrestaShop", создана пользователем Woland, 11 дек 2013.

Информация :
Хочешь в разделе без проблем общаться - прочти правила, чтобы потом с форумом на время не прощаться. Читать обязательно!
Внимание! Читайте внимательно правила!Предупреждения выдаются без всяких вопросов. Нарушил - получил. Будьте Внимательнее! Постинг нескольких постов подряд приравнивается к НАРУШЕНИЮ! Будьте вежливы и соблюдайте правила ;-)
Модераторы: NightHunter, ZiX
  1. Woland

    Woland Want to California

    Регистр.:
    3 июл 2013
    Сообщения:
    305
    Симпатии:
    209
    По умолчанию Prestashop генерирует изображения в соответствии с указанными в админ панели размерами, остальную часть изображения заливает белым фоном, но нашел более изящное решение.
    [​IMG]
    Решение простое: изменяется метод resize(), который является частью класса ImageManagerCore PHP, таким образом, что если имя размера изображения, заданное в админ панели в разделе "Изображения" (например home_default, small_default) содержит префикс "_btt" (например home_default_btt, small_default_btt), то к нему будет применяться zoom-обрезка изображения, вместо оригинальной из Prestashop.

    Как использовать:
    1. Приложенный файл ImageManager.php копируем в папку /override/classes/
    2. Переопределяем классы, для этого удаляем файл /cache/class_index.php
    3. Идем в админ панели в Настройки -> Изображения -> Добавить новый
    4. Создаем новый тип изображений, например home_default_btt
    5. Перегенерируем миниатюры.
    Теперь этот вид изображения (например home_default_btt) можно выводить где-то в шаблоне, как изображение товара допустим.

    Пробуем, тестируем, кто умеет можно доработать это решение.

    Придумал не сам, нашел где-то в забугорном Интернете :)
     

    Вложения:

    Последнее редактирование: 30 дек 2013
    mc_max, bkmd, Jeanarlo и 3 другим нравится это.
  2. Leontes

    Leontes Создатель

    Регистр.:
    14 дек 2013
    Сообщения:
    18
    Симпатии:
    1
    добрый день! в версии prestashop 1.5.6.1 не работает...
     
  3. Woland

    Woland Want to California

    Регистр.:
    3 июл 2013
    Сообщения:
    305
    Симпатии:
    209
    Все отлично работает на любой версии 1.5.x! Забыл упомянуть, что после создания каких либо файлов в папке override, нужно переопределить классы движка. Для этого просто удаляем файл /cache/class_index.php. Обновил шапку:)
     
  4. itup

    itup Постоялец

    Регистр.:
    8 окт 2007
    Сообщения:
    72
    Симпатии:
    48
    Есть демо? где можно посмотреть.
     
  5. Woland

    Woland Want to California

    Регистр.:
    3 июл 2013
    Сообщения:
    305
    Симпатии:
    209
    Конечно, специально для тебя его создавал. Какое демо, сынок? Во-первых не пойму на что тут можно смотреть. Во-вторых по моему не надо много ума, чтобы опробовать самому. Тут вроде не ассемблер!
     
  6. lexus355

    lexus355 Создатель

    Регистр.:
    8 окт 2013
    Сообщения:
    34
    Симпатии:
    4
    А как его выводить? Т.е этот способ не заменяет существующие в шаблоне изображения?
     
  7. Woland

    Woland Want to California

    Регистр.:
    3 июл 2013
    Сообщения:
    305
    Симпатии:
    209
    Нет. Я же написал, что в шаблоне нужно менять вывод изображений.
     
  8. Leontes

    Leontes Создатель

    Регистр.:
    14 дек 2013
    Сообщения:
    18
    Симпатии:
    1
    Класс! В папке img генерируется изображение с окончанием _btt и его можно использовать в любом месте файлов tpl, даже если не вставили а только перегенерировали изображения.
     
  9. Woland

    Woland Want to California

    Регистр.:
    3 июл 2013
    Сообщения:
    305
    Симпатии:
    209
    Именно так, после перегенерации готовые изображения с этим суффиксом можно использовать в любом tpl файле шаблона.
     
  10. Kosstas

    Kosstas

    Регистр.:
    9 мар 2014
    Сообщения:
    422
    Симпатии:
    724
    Image RESIZING Module
    Сам не пробовал, содранно из Престы клиента- Тестируем отписываемся
     

    Вложения: