myfield es un campo de texto plano. {{ content.field_myfield }}
representa el campo con marcado HTML y la etiqueta del campo.
¿Cómo renderizo el valor bruto del campo? {{ content.field_myfield.value }}
no funciona
{{ entity.field_name.value }}
para obtener el verdadero valor bruto, incluye etiquetas y codificación.
{{ node.body.value }}
<p>Batman & Robin</p>
{{ content.field_name.0 }}
para obtener el valor bruto menos etiquetas y codificación.
{{ content.body.0 }}
Batman & Robin
crudo
Este filtro debe evitarse siempre que sea posible, especialmente si está generando datos que podrían ser ingresados por el usuario. Consulte esta página para obtener más información sobre el escape automático en Drupal 8.
fuente: Filtros - Modificación de variables en plantillas de ramita
El filtro sin procesar marca el valor como "seguro", lo que significa que en un entorno con escape automático habilitado, esta variable no se escapará si el filtro sin procesar es el último aplicado.
fuente: documentos oficiales de Twig
Por ejemplo, puedes usar:
{{ node.body.value|striptags }}
{{ paragraph.field_text.value|striptags }}
El problema con el uso de | striptags de twig es la doble codificación de entidades html, no el marcado, por lo que & se convierte en & y luego & amp; - Berdir
<
y>
se muestran correctamente. El ampersand probablemente ya haya escapado antes de que salga. Pero la pregunta es sobre un campo de texto plano , no un campo de texto formateado procesado por filtros de texto. (Para responder a esta pregunta no formulada, el valor.value
sin formato (si alguien realmente quiere eso) aún estaría y Twig lo escaparía de forma correcta por razones de seguridad, ya que nunca debería generar un campo de texto formateado sin filtrar)&
salida en su ejemplo es incorrecta, esto no sucede en el autoescaping a menos que el contenido del campo ya haya escapado una vez)Puede usar el módulo Twig Field Value en este caso. Después de instalar este módulo Obtendrá acceso a datos parciales de las matrices de procesamiento de campo. Por ej.
etc. Más información en la página de proyectos
fuente
obtener el valor de campo sin procesar en una plantilla de ramita
fuente