Итак, у меня есть этот узел:
object(Drupal\node\Entity\Node)[1862]
protected 'values' =>
array (size=17)
'vid' =>
array (size=1)
'x-default' => string '7' (length=1)
'langcode' =>
array (size=1)
'x-default' =>
array (size=1)
0 =>
array (size=1)
'value' => string 'en' (length=2)
... (more fields)
'field_image' =>
array (size=1)
'x-default' =>
array (size=1)
0 =>
array (size=5)
'target_id' => string '1' (length=1)
'alt' => string '' (length=0)
'title' => string '' (length=0)
'width' => string '150' (length=3)
'height' => string '120' (length=3)
Теперь у field_image есть массив с x-default и некоторыми базовыми данными изображения. Как мне показать изображение или создать ссылку на изображение внутри шаблона Twig?
Recoverable fatal error: Object of class Drupal\Core\Field\FieldItemList could not be converted to string
поэтому я попробовал это с этим: url(node.field_image.0.entity.uri.value)
но тогда это просто говорит мне это:Twig_Error_Runtime: An exception has been thrown during the rendering of a template ("Route "public://image.png" does not exist.")
FieldItemList
s в строковое представление (которое я не могу найти)
url()
хочет маршрут. Как насчет url_from_path(node.field_image.0.entity.uri.value)
?
url_from_path()
кажется, генерирует это: http://mywebsite.local/public%3A//image.png
так что кажется, что urlencoding и добавляет точное значение к URL-адресу
url(node.field_image.0.entity.uri)
( соответствующий вопрос )