Получить значение поля из объекта, на который ссылается ссылка, в цикле ветки
У меня есть тип контента с несколькими ссылочными полями, и мне нужно выполнить итерацию по каждому элементу и отобразить информацию об элементе в таблице, но я не знаю и не нашел способ получить доступ к информации о поле содержимого, такой как значение определенного поля.
Пример: У меня есть тип контента под названием Задача, и в задаче у меня есть ссылка на несколько сущностей на тип контента работника, у работника есть должность, имя и телефон. Как я могу повторить каждого работника и отобразить информацию в таблице?
Что я хочу сделать, так это переопределить узел--task.html.twig, чтобы сделать что-то вроде этого:
Предполагая, что у нас есть поле field_workers в типе содержимого задачи.
<table>
<thead>
<tr>
<th>
Name
</th>
<th>
Phone
</th>
</tr>
</thead>
<tbody>
{% for worker in content.field_workers %}
<tr>
<td>
{{worker.field_name.value}}
</td>
<td>
{{worker.field_phone.value}}
</td>
</tr>
{% endfor %}
</tbody>
</table>
Возможно ли это? Спасибо!
2 answers
Вы хотите работать с узлом вместо содержимого.
Что-то подобное должно сработать
{% for item in node.field_workers %}
{{ item.entity.field_name.value }}
{% endfor %}
Смотрите Шпаргалку API сущности и API ветки и поля сущности или как взять под контроль node.html.twig (мой пост в блоге) для получения дополнительной информации.
Узел --задача.html.ветка
<table>
<thead>
<tr>
<th>
Name
</th>
<th>
Phone
</th>
</tr>
</thead>
<tbody>
{{ content.field_workers }}
</tbody>
</table>
Узел -- рабочий --таблица.html.ветка
<tr>
<td>
{{ content.field_name }}
</td>
<td>
{{ content.field_phone }}
</td>
</tr>
Недостатком, очевидно, являетесь вы нужны два шаблона. Преимущество в том, что вы можете отображать рабочие поля так, как они настроены в пользовательском интерфейсе, и вы можете использовать текстовые фильтры. Используйте отдельный режим просмотра table
, чтобы вы могли отображать рабочий тип контента в других местах в обычном режиме. Вам также может потребоваться удалить html-код из шаблона field--field-workers.html.twig
, если он мешает структуре таблицы.