web-dev-qa-db-fra.com

Comment puis-je obtenir la largeur ou la hauteur d'une image de champ d'image dans un modèle twig?

J'utilise PhpStorm/xdebug/MAMP pour regarder la variable à laquelle je veux accéder:

enter image description here

J'ai essayé d'utiliser les éléments suivants pour accéder aux données:

{% set image_width = content.field_image.0['#item'].values.width %}

et

{% set image_width = content.field_image.0['#item'].values.width.value %}

Aucune de ces lignes ne produit de données.

Toute aide est grandement appréciée!

4
Sean Jones

Vous ne pouvez pas accéder au tableau values car il est protégé. Mais ce n'est pas nécessaire, car vous pouvez obtenir directement les propriétés d'un élément de champ:

{% set image_width = content.field_image.0['#item'].width %}

BTW la variable content est un tableau de rendu sans structure fixe. La présence et la position de #item changements dépendant du formateur de champs et d'autres codes de base, contrib ou personnalisés.

Il est donc préférable d'utiliser l'objet entité, par exemple l'entité paragraphe dans un modèle de paragraphe:

{% set image_width = paragraph.field_image.0.width %}
5
4k4