Добавление произвольного эффекта в виды показа изображений

Сегодня разберем то, как создать собственный эффект для обработки изображений в Drupal 7. Для этого нам понадобится модуль Imagecache Custom Actions из набора модулей imagecache actions и немного PHP магии.

Поставим как задачу добавить эффект зеркального поворота изображения по горизонтали.

Скачаем модуль (если его ещё нет в проекте) и поставим нужные галки, в том числе напротив Imagecache Custom Actions.

imagecache_custom_actions_on

Добавление стиля с PHP кодом потребует настройки PHP фильтра для контента. Это делается в меню «конфигурация» -> «форматы текста». Вот здесь — admin/config/content/formats.

Теперь нужно создать этот «кастомный» стиль и прописать вызов нашей функции на PHP. Переходим на страницу добавления стилей admin/config/media/image-styles/add (или добавляем Custom Actions в существующий).

new-style

Код должен возвращать TRUE, в случае успешного применения эффекта, поэтому по умолчанию в поле написано return TRUE;.add-codeРедактировать и писать код в текстовом редакторе сайта не очень удобно, потому мы оформим наш код в виде функции, тем более она может нам пригодиться для создания других стилей. А в поле впишем пока вызов этой нашей функции.

edit-custom

А вот и сама функция. В неё можно добавить некоторые обработчики исключительных ситуаций, но я что то поленился :). В контексте моей задачи в этом не было необходимости.

На входе функции мы получаем информацию в виде двух переменных,  но по факту нам пригодились данные только из одной. В вашем случае (в случае, если вы будет писать собственный обработчик) могут пригодиться оба источника. Что за коктейль из данных там передаётся, можете подебаггить сами (я делал вывод содержимого этих переменных в файл, т.к. вывод в «консоль» посмотреть во время преобразования изображения не получится).

Теперь у вас есть полная свобода в создании стилей изображений. Можно даже почикать лишние модули imagecache, заменив их своими функциями.

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

Конфигурация для миграции статей (node:blog) из CSV файла

Март 2, 2024 г.

Это пример миграции данных из CSV файла в Drupal. Данная миграция является основной в том смысле, что она ссылается на дочернюю миграцию, в ходе которой будут созданы параграфы (entity_reference_revisions:paragraph) с HTML контентом. А далее мы ...

Читать

VK Video: интегрируем как oembed provider source в Drupal

Апрель 12, 2025 г.

Еще один oembed провайдер, который мне понадобился не давно - VK VIDEO. Нужно было интегрировать видео с ВКонтакте в медиа библиотеку Drupal. Если ...

Читать

Создаём программно url alias в Drupal 9

Август 28, 2021 г.

Сниппет кода, демонстрирующий как alias создаётся в Drupal 9. Ранее (в 8й версии) это был сервис ядра path.alias_storage, и код выглядел так: [crayon-6a9a38074ded1851850608/] В 9й версии хранилище перенесли в entityTypeManager и потому выглядит ...

Читать

Обновить path alias в таксономии

Октябрь 24, 2024 г.

Пример кода работы с entityQuery и Entity API. В данном примере мы пройдемся по синонимам терминов таксономии и произведем простую замену или создадим новый синоним согласно установленному в системе шаблону. В 8ке синонимы (path_alias) - это ...

Читать
 

Комментарии к «Добавление произвольного эффекта в виды показа изображений»

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



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