afficher_nombre_objets_associes_a

Le pipeline afficher_nombre_objets_associes_a est appelé pour afficher des informations de nombre d’éléments lié à un objet éditorial. Il permet ainsi de compléter le nombre d’éléments liés à un mot clé donné lorsqu’il est appelé sur la page des groupes de mots ainsi :

$texte_lie = pipeline(
	'afficher_nombre_objets_associes_a',
	array(
		'args'=>array(
			'objet'=>'mot',
			'id_objet'=>$id_mot),
		'data'=>$texte_lie));

Est transmis au pipeline le type d’objet et son identifiant dont on souhaite compter les liaisons associées. La clé data est un tableau dont les valeurs seront assemblées avec une virgule au moment de l’affichage.

Exemple

Le plugin « Agenda » utilise ce pipeline pour ajouter le nombre d’évènements liés à un mot clé de la sorte :

function agenda_afficher_nombre_objets_associes_a($flux){
	if ($flux['args']['objet'] == 'mot'
	  AND $id_mot = $flux['args']['id_objet']){
		$aff_articles = sql_in('A.statut',  ($GLOBALS['connect_statut'] == "0minirezo")  ? array('prepa','prop','publie') : array('prop','publie'));
		$nb = sql_countsel("spip_mots_evenements AS L LEFT JOIN spip_evenements AS E ON E.id_evenement=L.id_evenement LEFT JOIN spip_articles AS A ON E.id_article=A.id_article", "L.id_mot=".intval($id_mot)." AND $aff_articles");
		if ($nb)
			$flux['data'][] = singulier_ou_pluriel($nb, "agenda:info_un_evenement", "agenda:info_nombre_evenements");
	}
	return $flux;
}

Auteur Matthieu Marcillaud Publié le : Mis à jour : 12/03/23

Traductions : English, français