Чтобы извлечь адрес изображения из картинки в поле типа media, требуется ряд преобразований с использованием Entity объектов Drupal.
Предполагается, что вы уже загрузили entity с полем типа media (в примере называется — field_media) в какую то переменную. Дальше нужно загрузить объект media, получить ID файла, загрузить объект файла и там уже сгенерировать URL.
|
|
use Drupal\file\Entity\File; use Drupal\media\Entity\Media $entity = ...; // ваша нода или параграф $media_id = $entity->get('field_media')->getString(); $fid = Media::load($media_id)->field_media_image->target_id; $file = File::load($fid); $URL = $file->createFileUrl(); |
По умолчанию вы должны получить относительный путь, если нужен абсолютный — то используйте следующий вызов метода createFileUrl():
|
|
$absoluteUrl = $file->createFileUrl(false); |
Drupal 8/9
Данная запись опубликована в 27.07.2021 20:25 и размещена в рубрике Drupal.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Октябрь 12, 2021 г.
Типичная проблема сайта, когда тот оказывается за балансировщиком нагрузки (load balancer), это несоответствие части заголовков запроса клиента и тех заголовков, которые передаются балансировщиком серверу. Чаще всего мы сталкиваемся с этим при запуске ...
Читать
Август 3, 2021 г.
Смотрим как выполнить рендеринг файла-картинки в Drupal 9 программно.
Есть FID, и требуется рендерить этот файл программно в шаблоне <IMG>. Для этого нам понадобится воспользоваться сервисом ядра - renderer.
[crayon-6ad30738da503212228296/] ...
Читать
Август 22, 2021 г.
Когда требуется подключиться и подтянуть данные из не основной базы, то нужно сначала задать свойства нового подключения, подключиться, выполнить запрос, а затем вернуть настройки в исходное состояние. Рассмотрим примеры кода, которые демонстрируют как ...
Читать
Сентябрь 8, 2021 г.
Продолжаю публиковать сниппеты кода для drupal 9, на этот раз несколько полезных вещей, связанных с рендерингом меню.
Рендер меню по известному id меню
Вы знаете идентификатор, вам нужен рендер:
[crayon-6ad30738da83d572602564/]
Рендер ...
Читать