Sur une page de noeud, je voudrais ajouter le titre du noeud à la sortie à côté d'un autre autre champ (le champ d'exemple).
J'ai créé un nouveau field--field-example.html.twig
mais je ne parviens pas à accéder à la variable de titre du nœud car elle n'est pas disponible dans le modèle de champ.
J'ai besoin d'ajouter les variables dans le prétraitement du thème: themename.theme
.
Comment ajouter la variable dans themename.theme
et quelle serait l'entrée correspondante dans le field--field-example.html.twig
?
Puisque vous avez demandé de passer le titre du nœud en tant que variable via le fichier .theme, vous pouvez utiliser template_preprocess_field pour faire quelque chose comme ceci:
function themename_preprocess_field(&$variables, $hook) {
if ($variables['element']['#field_name'] == 'field_example') {
$variables['node_title'] = $variables['element']['#object']->getTitle();
}
}
puis dans votre field--field-example.html.twig
vous pouvez simplement utiliser {{node_title}}
pour afficher le titre du nœud.
Voir également la réponse de 4k4 ci-dessous.
Un objet nœud est disponible dans les variables du modèle de champ, vous n'avez donc pas besoin d'une fonction de prétraitement.
Pour obtenir le titre du nœud dans un modèle de champ:
{{ element['#object'].label }}