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

Сегодня разберем то, как создать собственный эффект для обработки изображений в 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, заменив их своими функциями.

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

Как изменить длину поля (max length) после создания, сохраняя данные

Май 15, 2018 г.

Друпал не позволяет менять длину текстового поля после создания. Функция field_update_field также нам не поможет - будет сгенерирована соответствующая ошибка, что поле уже содержит данные и изменить его длину нельзя. Это можно проделать вручную, зная ...

Читать

Отключаем кеш на нужных страницах в Drupal

Март 7, 2014 г.

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

Читать

Добавление произвольных требований при установке модуля в Drupal

Май 7, 2025 г.

Иногда модуль в Drupal требует наличия специфических сущностей или конфигураций, например — определённого текстового формата. Поскольку текстовые форматы являются конфигурационными сущностями (entities), напрямую указать их как зависимость в .info.yml ...

Читать

Twig-функция qr_code() в Drupal: простой плагин с использованием Endroid QR Code

Октябрь 23, 2025 г.

Иногда в шаблоне Drupal удобно вывести QR-код прямо по месту — без внешних файлов, без рендеринга через отдельный контроллер и без подключения сторонних ...

Читать
 

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

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



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