Как можно отобразить поля из ссылки на сущность в шаблонах узлов? [Друпал 8]


Для контекста я имею дело с двумя типами контента: статья и team_profile. В узлах статей у нас есть поле ссылки на сущность, в котором узел team_profile используется в качестве информации об авторе.

Я бы просто отрисовал объект в новом режиме отображения, но в нашем дизайне фотография установлена непосредственно над опубликованной датой и именем, рядом друг с другом: screenshot of the author information design

В D7 я бы dpm($content) и развернул бы информацию об узле, дважды щелкнул и вытащил остальная часть опорного пути. Я использую kint и могу выплюнуть содержимое ссылки на сущность до определенного уровня, {{ kint(content.field_blog_author[0]['#node']) }}. Следующий уровень, к которому я хочу получить доступ, - это values, но попытка выполнить следующее дает мне НОЛЬ:

  • content.field_blog_author[0]['#node’][‘values’]
  • content.field_blog_author[0]['#node’]=>values
  • content.field_blog_author[0]['#node’]->values

В конечном счете я хотел бы отобразить поля title и field_team_image из указанного узла (, который показан здесь в выводе kint ). Я не нашел информации об этом в документации или путем поиска. Было бы кто-нибудь, помогите мне освободиться?

Author: alexbea, 2016-04-20

1 answers

#узел на самом деле существует текущий узел.

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

Вы можете получить доступ к ссылочному объекту следующим образом {{ node.field_blog_author.entity }}.

Оттуда вы можете снова перейти к полю объекта, на который ссылается ссылка, который вы хотите отобразить. Вы можете попробовать вызвать метод просмотра, с помощью которого вы будете просматривать его с настройками по умолчанию, вы также можете передать режим просмотра в виде строки к нему или настройкам отображения массива (не уверен в точном синтаксисе для этого в twig).

Кроме того, моя стандартная ссылка, см. http://wizzlern.nl/drupal/drupal-8-entity-cheat-sheet для подробного обзора сущностей контента, их структуры и способов доступа к значениям. Большая часть этого также относится к twig.

И, наконец, при попытке выяснить, что находится в сущности содержимого, используйте узел.toArray(), который дает вам представление массива, очень близкое к тому, как вы можете получить доступ это как объект. В то время как внутренняя структура совсем иная.

 13
Author: Berdir, 2016-04-20 23:17:31