Pour ajouter une description de la page, ou une description de l’objet/id_objet en cours de lecture, un type d’encart est prévu : « boite_infos »
En squelettes SPIP
Pour créer un encart informatif dans un squelette du privé, on utilise les 2 balises #BOITE_OUVRIR
et #BOITE_FERMER
.
Exemple pour le plugin "auteurs" :
Le fichier prive/squelette/navigation/auteur.html
commence par :
<BOUCLE_nav(AUTEURS){id_auteur}{statut?}{si #ENV{exec}|=={auteur}}>
#BOITE_OUVRIR{'','info'}
#PIPELINE{boite_infos,#ARRAY{data,'',args,#ARRAY{'type','auteur','id',#ENV{id_auteur}}}}
#BOITE_FERMER
...
</BOUCLE_nav>
Dans cet exemple le pipeline boite_infos
est appelé en plus (de même que dans l’exemple PHP qui suit). Ce n’est toutefois pas obligatoire.
Une 3eme balise #BOITE_PIED
permet d’ajouter un pied (’footer’) à la boite. Par exemple, pour le plugin compagnon :
[(#BOITE_OUVRIR{
[(#CHEMIN_IMAGE{compagnon-picto-xx.svg}|balise_svg{'',picto-compagnon}) ]
[(#ENV*{titre})]
[(#BOUTON_ACTION{#GET{fermer},#GET{action},btn_link ajax})],
compagnon})]
#ENV*{texte}
#BOITE_PIED
[<span class="target" data-target="(#ENV{target,''})"></span>]
[(#BOUTON_ACTION{[(#VAL|ok_aleatoire)],#GET{action},ajax})]
#BOITE_FERMER
En PHP
On procède souvent de la sorte, en ajoutant une fonction dans la colonne gauche :
// colonne gauche
echo debut_gauche('', true);
echo cadre_nom_infos(); // affiche les informations relatives au nom
echo pipeline('affiche_gauche', array('args'=>array('exec'=>'nom'),'data'=>''));
Cette fonction appelle le pipeline et retourne son contenu dans une boite :
// afficher les informations de la pageajoutant
function cadre_champs_extras_infos() {
$boite = pipeline ('boite_infos', array('data' => '',
'args' => array(
'type'=>'nom',
// eventuellement l'id de l'objet et la ligne SQL
// $row = sql_fetsel('*', 'spip_nom', 'id_nom='.sql_quote($id_nom));
'id' => $id_nom,
'row' => $row,
)
));
if ($boite)
return debut_boite_info(true) . $boite . fin_boite_info(true);
}
Le pipeline charge automatiquement un squelette (avec le contexte fourni par le tableau args
) homonyme au paramètre « type », dans le répertoire prive/infos/ soit prive/infos/nom.html
. Il faut donc le créer avec le contenu souhaité.