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;
}