Dans cet article
Autant certains de mes articles peuvent être hyper longs, autant parfois une ligne ou presque suffit. C'est le cas cette semaine avec un petit bout de TWIG qui s'est avéré utile pour moi récemment.
L'idée est simple, supposons un champ de type Paragraph au sein d'une entité. Dans le template correspondant à ce paragraphe, la variable paragraph représente l'entité entière. Il suffit alors de définir parent comme :
{% set parent = paragraph._referringItem.parent.parent.entity %}
_referringItem
est réalité créé par le formatter EntityReference. Cela signifie que l'astuce fonctionne pour toute entity reference, donc pour accéder au parent d'un fichier, d'une image, du nœud référencé et autre champ de ce type.Grâce à cette nouvelle variable parent, vous pouvez désormais atteindre les valeurs de cette entité. Par exemple en supposant que parent soit le nœud contenant le paragraphe, alors vous pouvez désormais obtenir des valeurs du type :
Evidemment, si parent est lui-même un paragraph, vous pouvez aussi continuer l'opération.
1 2 3 4 function MONMODULE_preprocess_paragraph($variables) { $paragraph = $variables['elements']['#paragraph']; $variables['parent'] = $paragraph->getParentEntity(); }
Ajouter un commentaire