J'essaie d'imprimer la valeur du champ dans un nœud - template.html.twig sans espace blanc. Ce champ est une sélection dans la page d'administration.
Location|Location
Achat|Achat
Voici comment ma valeur est imprimée:
{{content.field_type}}
field.html.twig:
{% for item in items %}
{{- item.content -}}
{% endfor %}
J'essaie un argument twig comme
{{content.field_type | trim}}
Mais quand j'imprime comme ça, c'est vide.
Alors, où sont ces espaces? même si j'essaie de tester la valeur dans la condition if else:
Cela ne fonctionne pas à cause des espaces:
{% if content.field_type == "Achat"%}
Ce travail :
{% if content.field_type | render | trim == "Achat"%}
Donc pour tester une valeur c'est ok, mais pour imprimer la valeur si j'utilise
{{content.field_type | render | trim}}
j'ai obtenu le même résultat avec un espace blanc.
Donc, si quelqu'un peut me dire où est ajouté cet espace et comment le supprimer dans un rameau. J'utilise le thème boostrap, mais je ne vois rien qui ajoute de l'espace.
Il me semble que vous avez un modèle, probablement field.html.twig
qui ajoute cet espace. Vous pouvez activer le débogage twig
pour voir quels fichiers de modèles sont utilisés.
De plus, je pense qu'il vaut mieux tester la valeur sur node.field.value
au lieu de content.field
comme pour le rendu uniquement.
Notez que les opérateurs twig as {% for ... %}
ajoutez également des espaces, vous devez donc ajouter -
ainsi que par exemple:
{%- for item in items %}
{{ item.content }}
{% endfor -%}
J'ai essayé plusieurs fois et le tag sans espace fonctionne plutôt bien.
Utilisez la syntaxe suivante:
{% spaceless %}
{{content.field_type}}
{% endspaceless %}