Table of Content
Drupal 8.0 был выпущен почти год назад. За это время на новой платформе мы создали 3 сайта.
Многие встроенные модули Drupal 8 не до конца проработаны для реального использования. Некоторые из них содержат ошибки и не несут того практического функционала, как аналогичные для Drupal 7. Но это не повод отчаиваться, отказаться от использования этих модулей, или идти писать собственный код. Мы решили самостоятельно написать и применить патчи для дополнительных функций в необходимых для работы модулях.
Чаще всего на практике нам не хватало дополнительного функционала для модуля Эффекты. Image Effects - это продолжение модуля Imagecache Actions в Drupal 8. Разработчики модуля перенесли большую часть функций из Imagecache Actions в Image Effects, но некоторые все еще отсутствуют в доступе, например, чересстрочный / прогрессивный эффект. (Interlace / Progressive).
Эффекты изображения: чересстрочная / прогрессивная
Мы считаем, что чересстрочную развертку нужно применять к изображениям на большинстве сайтов. Пользователю не нужно ждать, пока изображение полностью загрузится, чтобы понять, что на нём находится:
В первую очередь это важно для больших баннеров, меняющих свою высоту и положение полосы прокрутки на странице. Также этот эффект хорошо смотрится на слайдерах и каруселях. Мы не стали дожидаться появления этого эффекта в модуле Image Effects и попытались добавить его самостоятельно.
Изначально мы создали отдельный модуль для эффекта чересстрочной / прогрессивной развертки, но так как этот эффект применим на многих сайтах, мы решили добавить его в общий модуль Image Effects. Мы создали патч и загрузили его на drupal.org
https://www.drupal.org/node/2751175
Эффект работал нормально, но требовался тест-драйв общего функционала и с этим возникли проблемы. Эффекты работают с двумя разными инструментами GD2 и Imagemagick. Но Drupal.org CI использует для тестирования только GD2. Наше тестирование работы в Imagemagick:
identify -verbose
Возникла необходимость в доработке. Переписать тестовую задачу нам помог элементарный PHP-код.После успешных апгрейдов, патч был успешно применен к модулю Image Effects 8.x-1.x.Отныне он доступен к общему использованию,, начиная с версии Image Effects 8.x-1.0-alpha3, или в dev-версии модуля 8.x-1.x-dev.
Графический эффект: перспектива.
Перспектива - это еще один эффект, который отсутствует в Imagecache Actions и Image effect. Выглядит он так:
До:
После:
Эффект перспективы дает массу вариантов настроек. Его можно использовать для создания симметричной и асимметричной перспективы. Также вы можете выбрать шаблонный вариант направления и искажения для изображения.
Наша работа над патчем для Image Effects:
https://www.drupal.org/node/2762627
и для Imagecache Actions:
https://www.drupal.org/node/2760121
Мы провели несколько тестов, чтобы убедиться, что патч работает корректно. Эффект перспективы скоро станет доступен в модулях Image Effects и Imagecache Actions.
Drupal 8 увеличивает ваши возможности за счет новых модулей, добавления новых функций и исправления недоработок. Принимая участие в разработке, вы ускоряете и упрощаете разработку сайтов на Drupal 8.