2015-11-11 3 views
5

Я пытаюсь создать свой собственный формат поля изображения. Я следил за этими инструкциями (http://www.sitepoint.com/creating-custom-field-formatters-drupal-8/), и сейчас у меня есть рабочий форматтер, который в основном ничего не делает, кроме «наследует» и выполняет форматирование изображения по умолчанию.Как получить URL-адрес изображения из uri в Drupal 8 template

Тогда у меня, конечно, есть свой собственный шаблон, который также является копией шаблона image-formatter.html.twig по умолчанию (найденного в core \ modules \ image \ templates).

Теперь у меня вопрос, что в шаблоне я могу распечатать все изображение с помощью синтаксиса Twig {{image}}. Если я использую dump (изображение), я вижу, что на самом деле есть изображение uri: public: // default_images/Изображение по умолчанию для Drupal Ant task.jpg

Я бы хотел, чтобы вместо этого был фактический url, но прямо сейчас у меня нет Идея, как это получить. Возможно ли это? И я также был бы признателен, если бы вы могли объяснить мне коротко, почему {{image}} печатает изображение с помощью тегов img? Он должен пройти через другой форматтер?

Почему я начал делать это в первую очередь, так это то, что вместо тегов img я бы хотел использовать divs с фоном.

ответ

8

Существует расширение веточки FILE_URL вы можете использовать для этого, например

{{ file_url(content.field_image['#items'].entity.uri.value) }} 
+0

Это было именно то, что я искал! Отлично. Конечно, нужно заменить field_image своим именем поля изображения. – daniels

+0

То же самое относится к моей ветке ветки, но она не подходит для шаблонов просмотров – Pradeep