Работа с картинками в API Drupal 7

Собрал здесь несколько полезных функций, которые могут быть полезны для работы с полем изображений в Drupal семерочке. Данная коллекция представляет из себя закладку с примерами. В памяти всё не удержишь, приходится ползать по выполненным проектам — копипастить микро-кусочки кода. А на сайте — все под рукой.

В семерке конструктор полей встроен в коробочную версию — это набор модулей Field. В набор входят разные типы полей, в том числе Image. Вот о небольших примерах работы с ним из PHP дальше пойдет речь.

Итак, у нас есть поле с изображением (-иями), оно представляет из себя вот такой массив:

Темизация

Если нужно сформировать тег <img> то на помощь придет функция theme, которая соберет картинку из данного массива.

Так массив будет преобразован в список картинок. Вы, возможно, обратили внимание, что я обращаюсь к ветке массива — UND. Эта ветка не специфичного по отношению к языку контента. Она присутствует у всех типов полей конструктора.

Абсолютный путь

Так как путь у картинок хранится в виде некого внутреннего указателя, вроде — public://slides/finepicture.jpg, то совершенно естественно возникает необходимость в ряде случаев получить абсолютный путь.

Нужная функция в drupal для этого случая как видите есть.

Темизация с использованием видов показа изображения

Стили изображений настраиваются вот здесь —  /admin/config/media/image-styles. Для программирования нам понадобится так называемое машинное имя стиля.

И еще одна функция для получения url изображения, образованного с использованием видов показа изображений.

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

Проброс переменных из PHP в JS (в Drupal) с использованием js_settings_alter

Ноябрь 14, 2025 г.

В этой статье мы рассмотрим, как пробросить данные из PHP в JavaScript в Drupal 11 с использованием js_settings_alter(). Этот метод позволяет изменять или добавлять переменные в объект drupalSettings, который доступен в JavaScript на всех страницах. ...

Читать

Ошибка запуска Cron в Drupal 7

Апрель 16, 2020 г.

Если запуск Cron в Drupal 7 постоянно выдаёт такую ошибку - "Cron run failed.", как исправить ситуацию? Подобная статья у меня уже была, но посвященная аналогичной проблеме в Drupal 6. Решение точно такое же - нужно удалить из базы данных ...

Читать

Чем заменить drupal_get_path() в Drupal 9/10

Январь 9, 2024 г.

Функция считается устаревшей, начиная с версии ядра 9.3, в 10-й версии функция удалена из кода. В новом API нужно воспользоваться одним из сервисов ядра, которые реализуют нужную функцию. Сервис extension.list.module - реализует функции, связанные ...

Читать

Рендер произвольного блока в Drupal 11

Март 13, 2025 г.

Если не хочется объявлять дополнительный регион, чтобы настроить вывод блока через админку, то можно сделать рендер блока программно. Например добавим в препроцессинг страницы переменную с рендером блока branding. Этот блок предоставляется модулем ...

Читать
 

Комментарии к «Работа с картинками в API Drupal 7»

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



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