Crop модуль для картинок Drupal

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

На Drupal.org есть обзор подобных модулей:
https://www.drupal.org/node/1179172.

Дополнительными требованиями было:

  1. Использование модуля без пересоздания поля с картинок (иначе придется перезагружать картинки всех публикаций, где создано новое поле) — т.е. плагин должен добавить виджет для imagefield, а не новый тип поля.
  2. Версия Drupal — 7.
  3. Поддержка S3FS.

Большинство модулей реализует «обрезку» через стили, т.е. нужно добавлять или использовать специальные стили изображений, чтобы получить cropped image. Не совсем то что нужно, т.к. требуется менять настройки полей, добавлять стилей или изменять стили изображений, а иногда (если используется код связанный с обработкой изображения) и модификация кода программы.

В части первых двух требований, а также из-за общей простоты модуля, я остановился на imagefield_crop 7x-1.1.

Модуль работает следующим образом. Вы указываете на оригинальном изображении область отсечения. Полученная картинка сохраняется вместо оригинальной. А для оригинала создаётся копия, чтобы можно было впоследствии поменять параметры crop.

Но так как модуль почти 5 лет не обновляется, нет поддержки S3, а также есть кое какие лишние «примочки» и баги, то я написал патч, который превращает модуль в то, что надо.

imagefield_crop патч

Скачать можно и здесь:
https://www.drupal.org/project/imagefield_crop/issues/2928174.

Патч выполняет следующие правки:

  1. Убирает превью результата обрезки. Т.к. штука лишняя и выполнена довольно криво. К примеру, превью может отображать результат обрезки с искажением пропорций.
  2. Добавляет совместимость с S3FS.
  3. Исправляет мелкие баги, которые не влияли на функционал, но приводили к появлению предупреждений от php.

Как применить патч читайте вот тут.

Мало букафф? Читайте есчо !

Эффективное кеширование по доступу к ноде: параметрический Cache Context в Drupal

Июль 26, 2025 г.

Когда мы используем кеширование в Drupal, типичный подход — добавить user в список контекстов: ['user']. Это означает, что для каждого пользователя будет ...

Читать

Загрузка файла через форму в Drupal

Май 19, 2023 г.

Посмотрим как получить непосредственный доступ к файлу без загрузки файла в хранилище, при его загрузке в поле типа "file" Form API. Много гайдов посвящено тому как использовать поле managed_file, а для unmanaged случая считается, что разработчик ...

Читать

Drupal migration из CSV файла

Март 1, 2024 г.

API миграции в Drupal позволяет "тащить" данные из разных источников, но работает это на базе контрибных модулей, т.е. не из коробки. Например, модуль migrate_source_csv добавляет возможность добавить CSV файл как источник данных. Создание каких ...

Читать

Отсутствующие переводы в tmgmt

Сентябрь 26, 2024 г.

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

Читать
 

Комментарии к «Crop модуль для картинок Drupal»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: