The "affiche_hierarchie" pipeline is used to modify or add to the HTML code for the breadcrumb path in the private zone. It accepts a certain number of data items in the args
: the subject of its current identifier, if there is one, and possibly the identifier of the sector.
$out = pipeline('affiche_hierarchie', array(
'args'=>array(
'id_parent'=>$id_parent,
'message'=>$message,
'id_objet'=>$id_objet,
'objet'=>$type,
'id_secteur'=>$id_secteur,
'restreint'=>$restreint),
'data'=>$out));
Example
The "polyhiérarchie" plugin, which enables a section or article to have multiple parents, uses this pipeline to list the various parents for the section or article currently displayed:
function polyhier_affiche_hierarchie($flux){
$objet = $flux['args']['objet'];
if (in_array($objet,array('article','rubrique'))){
$id_objet = $flux['args']['id_objet'];
include_spip('inc/polyhier');
$parents = polyhier_get_parents($id_objet,$objet,$serveur='');
$out = array();
foreach($parents as $p)
$out[] = "[->rubrique$p]";
if (count($out)){
$out = implode(', ',$out);
$out = _T('polyhier:label_autres_parents')." ".$out;
$out = PtoBR(propre($out));
$flux['data'] .= "<div id='chemins_transverses'>$out</div>";
}
}
return $flux;
}