Intento imprimir el valor del campo en un nodo - template.html.twig sin espacios en blanco. Este campo es una selección en la página de administración.
Location|Location
Achat|Achat
Así es como se imprime mi valor:
{{content.field_type}}
field.html.twig:
{% for item in items %}
{{- item.content -}}
{% endfor %}
Intento un argumento de ramita como
{{content.field_type | trim}}
Pero cuando imprimo así, está vacío.
Entonces, ¿dónde está este espacio en blanco? lo mismo si trato de probar el valor en la condición if else:
Esto no funciona debido al espacio en blanco:
{% if content.field_type == "Achat"%}
Este trabajo :
{% if content.field_type | render | trim == "Achat"%}
Entonces, para probar un valor, está bien, pero para imprimir el valor si uso
{{content.field_type | render | trim}}
Obtuve el mismo resultado con espacios en blanco.
Entonces, si alguien puede decirme dónde está agregar este espacio en blanco y cómo eliminarlo en la ramita. Uso el tema boostrap, pero no veo nada que agregue espacios en blanco.
spaceless
? twig.sensiolabs.org/doc/2.x/tags/spaceless.htmlnode.field_type.value == 'Achat'
Respuestas:
Me parece que tienes una plantilla, probablemente
field.html.twig
eso es agregar este espacio. Puede habilitar latwig
depuración para ver qué archivos de plantillas se utilizan.Además, creo que es mejor probar el valor en
node.field.value
lugar decontent.field
hacerlo solo para el renderizado.Tenga en cuenta que los operadores de ramita
{% for ... %}
también agregan espacios, por lo que también debe agregar-
allí, por ejemplo:fuente
Lo intenté muchas veces y la etiqueta sin espacio funciona bastante bien.
Use la siguiente sintaxis:
fuente