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.

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

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

Ctools modal закрытие при клике вне модального окна

Июнь 28, 2019 г.

Привычное для пользователей поведение модального окна изначально не реализовано в ctools. Давайте добавим немного js, реализующего нужный функционал. Код универсален для модального окна создаваемого ctools, т.к. привязан к верстке окна: [crayon-6aebd38066c0a401654516/] ...

Читать

Глобальная установка Drush

Сентябрь 17, 2023 г.

Часто используют drush как компонент установленного drupal проекта, вызывая drush как ./vendor/bin/drush. Небольшой гайд для глобальной установки drush, чтобы тот был доступен для всех проектов отовсюду. Для начала нам потребуются git и composer, ...

Читать

Программно удаляем тип публикации в Drupal

Март 15, 2018 г.

Всё, что вы можете сделать из админки, может быть сделано программно. Удаление типа публикации в Drupal тоже можно сделать из кода на PHP. Перед тем как удалить тип публикации, возможно, стоит подчистить экземпляры нод данного типа. Потому сначала ...

Читать

Использование entityqueue для сортировки элементов во view, основанной на Search API datasource

Апрель 3, 2024 г.

Ранее подход, который я опишу, использовался для nodequeue, сейчас с заменой плагина фунционалом entityqueue, тоже самое можно применить и для него. Проблема: Создано представление (view), где источник данных - элементы datasource Search API. ...

Читать
 

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

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



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