Estoy creando una plantilla personalizada para mi tema y estoy construyendo una página page.html.twig. Quiero llamar a los campos de nodos individuales en filas separadas. He podido mostrar con éxito todo excepto el campo de párrafo.
Yo he tratado.
{{ node.field_benefits }}
{{ node.field_benefits.value }}
{{ paragraph.field_benefits }}
{{ paragraph.field_benefits.value }}
{{ node.paragraphs.field_benefits }}
Y nada ha funcionado. ¿Alguien tiene alguna idea de la estructura correcta para llamar en el módulo de párrafo?
O funcionaría para una función
{% if node.field_benefits %}
{% for field_items in node.field_benefits %}
{{ field_item.value }}
{% endfor %}
{% endif %}
Respuestas:
Primero agregue una
paragraph--your_paragraph_machine_name.html.twig
al directorio de plantillas de su tema.Se puede acceder a los campos de párrafo agregando variables de ramita en un formato similar a
{{ content.field_your_field }}
.Si solo desea el valor del campo, es un poco más complicado. Por ejemplo, si tenía un campo Lista (texto) y deseaba obtener el valor de la opción seleccionada, podría hacer algo como:
Siempre puede ejecutar a
{{ dump(content) }}
para ver la estructura y obtener los valores que está buscando. ¡Espero que esto ayude!EDITAR: puede evitar todos los bucles anidados tontos. El ejemplo anterior debe escribirse como:
Para un campo de Texto (sin formato) podría verse así:
Para obtener un valor de URL de un campo Enlace, he visto sugerencias como:
Pero tendría un prefijo "interno: /", así que tuve más suerte con algo como esto:
fuente
paragraph.field_my_text.value
cualquier plantilla de párrafo para generar el valor plano y sin formato, comonode.field_my_text.value
en una plantilla de nodo.