Я создаю собственный шаблон для своей темы и создаю страницу page.html.twig. Я хочу вызвать отдельные поля узла в отдельные строки. Я был в состоянии успешно отобразить все, кроме поля абзаца.
Я пытался.
{{ node.field_benefits }}
{{ node.field_benefits.value }}
{{ paragraph.field_benefits }}
{{ paragraph.field_benefits.value }}
{{ node.paragraphs.field_benefits }}
И ничего не сработало. Кто-нибудь имеет представление о правильной структуре для вызова в модуле абзаца?
Или бы для работы функции
{% if node.field_benefits %}
{% for field_items in node.field_benefits %}
{{ field_item.value }}
{% endfor %}
{% endif %}
Ответы:
Сначала добавьте
paragraph--your_paragraph_machine_name.html.twig
в каталог шаблонов вашей темы.Доступ к полям абзаца можно сделать, добавив переменные ветки в формате, аналогичном
{{ content.field_your_field }}
.Если вам нужно только значение поля, это немного сложнее. Например, если у вас есть поле List (текст) и вы хотите получить значение из выбранной опции, вы можете сделать что-то вроде:
Вы всегда можете запустить a,
{{ dump(content) }}
чтобы увидеть структуру и получить значения, которые вы ищете. Надеюсь это поможет!РЕДАКТИРОВАТЬ: Вы можете избежать всех глупых вложенных циклов. Приведенный выше пример должен быть написан так:
Для текстового (простого) поля это может выглядеть примерно так:
Чтобы получить значение URL из поля «Ссылка», я видел следующие предложения:
Но у него будет префикс «internal: /», так что мне повезет больше с чем-то вроде этого:
источник
paragraph.field_my_text.value
любой шаблон абзаца для вывода простого неформатированного значения, какnode.field_my_text.value
в шаблоне узла.