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.

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

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

Редирект на нужную страницу после отправки данных формы в Drupal

Ноябрь 4, 2010 г.

Задача может по разному формулироваться, но решение одно и тоже. К примеру, как сделать так, чтобы после авторизации пользователь попадал на нужную страницу? или как сделать так, чтобы после регистрации пользователь перешел на определенную страницу сайта? ...

Читать

Удаление nodequeue программно

Май 28, 2021 г.

Небольшой сниппет (snippet) по удалению сущностей nodequeue из кода. Может быть полезно при миграции данных. Удобно оперировать с машинным именем нод-кью, но функция удаления требует ID, потому код обычно обретает следующие формы: [crayon-694bcc3128af9026982740/] ...

Читать

Подключение своих стилей для CKEditor 5 в Drupal

Февраль 20, 2024 г.

Чтобы добавить в редактор свои стили, обычно следуют гайду, который реализует hook mymodule_library_info_alter. При создании своих модулей для CKE5/D10, я так же пользовался данной статьей из документации. Но проблема была в том, что тот модуль, ...

Читать

Подстановка токенов в коде Drupal 9

Август 1, 2021 г.

Ядро и модули объявляют множество токенов подстановки. Рассмотрим как получить доступ к глобальному объекту типа \Drupal\Core\Utility\Token и выполнить подстановку в строке. Ядро предоставляет экземпляр объекта через следующий запрос: [crayon-694bcc3128f29252890669/] ...

Читать
 

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

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



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