Catégorie: Développement

Rendre un field sous Drupal 7

Auteur(s) de l'article

Simon
Simon
Drupal 7 amène un nouveau concept: les entités. Par exemple, les nodes, user et taxonomie, mais aussi les commentaires sont maintenant des entités. Cette couche d’abstraction permet de gérer des types d’entité de nature différente avec la même API.
La question aujourd’hui est comment afficher un field en dehors du rendu de l’entité? Par exemple le field d’un node en sidebar? On peut utiliser les modules display suite ou faire un bloc avec view mais vous allez voir qu’il est bien plus simple et performant de le faire en PHP en utilisant l’API de drupal.

Il y a une API pour ça: field_view_field

Dans une fonction preprocess, nous allons récupérer le field avec field_view_field. Cette fonction nous retourne un render array qui représente le field. Celui-ci serra finalement rendu avec la sidebar dans le template page.tpl.php .
// @file sites/all/theme/THEMENAME/template.php
/** 
* hook_preprocess_page */ THEMENAME_preprocess_page(&$var) { if (isset($var['node']) && $var['node']->type == 'page') { // field_view_field($entity_type, $entity, $field_name, $display = array(), $langcode = NULL) $var['sidebar']['field_name'] = field_view_field('node', $var['node'], 'field_name', 'default'); } }

À éviter

J’ai trop souvent vu du code qui ressemblait à:
// Example à ne pas suivre $output = $var['node']->field_name['und'][0]['safe_value'];
Ceci n’est pas conseillé pour plusieurs raisons:
•    Risque de ne plus fonctionner si la structure du field change lors d’une mise à jour.
•    Ceci pose des problèmes sur les sites multilingues (und représente « undefinied language »)
•    Le rendu ne passe pas par les fonctions de thème du field
•    Si vous souhaitez afficher un field à valeurs multiples, vous devrez gérer la boucle

Continuer ma lecture

Auteur(s) de l'article

Akira
Akira

Making of : “La nuit des Losers”

Le site de « La Nuit des Losers », fait en un temps record : wireframes papier, animations testées en direct avec Claude Code, un flipper abandonné, un tableau de réactions un peu triché, et deux-trois bugs qu’on garde précieusement. Ce que l’IA a vraiment changé ici, et là où elle a calé.
Le site de « La Nuit des Losers », fait en un temps record : wireframes papier, animations testées en direct avec Claude Code, un flipper abandonné, un tableau de réactions un peu triché, et deux-trois bugs qu’on garde précieusement. Ce que l’IA a vraiment changé ici, et là où elle a calé.
Making of : “La nuit des Losers”

Auteur(s) de l'article

Pierre
Pierre

Dark mode : nécessité ou effet de mode

Nous faisons le tri entre idées reçues, réalités techniques et bonnes pratiques de design.
Nous faisons le tri entre idées reçues, réalités techniques et bonnes pratiques de design.
Dark mode : nécessité ou effet de mode

Auteur(s) de l'article

Susana
Susana

L’IA pour la gestion de projet

En tant que chef·fe de projet en agence web, on entend beaucoup parler de l’IA et de ce fameux Claude, réputé pour accompagner efficacement les développeur·euses dans leur quotidien. Mais \[…\]
En tant que chef·fe de projet en agence web, on entend beaucoup parler de l’IA et de ce fameux Claude, réputé pour accompagner efficacement les développeur·euses dans leur quotidien. Mais \[…\]
L’IA pour la gestion de projet