Le pipeline insert_head
permet d’ajouter des contenus dans la partie <head>
d’une page HTML :
- au moment de l’appel à
#INSERT_HEAD
si la balise est définie, - sinon juste avant la fin du header (avant
</head>
) si la fonction f_insert_head
est définie dans le pipeline affichage_final, par exemple avec ceci dans mes_options.php
:
$GLOBALS['spip_pipeline']['affichage_final'] .= '|f_insert_head';
Le pipeline reçoit le contenu à ajouter et retourne donc un contenu :
function prefixPlugin_insert_head($flux){
$flux .= "<!-- un commentaire pour rien ! -->\n";
return $flux;
}
Exemple
Ajouter un appel à une fonction jQuery, ici pour afficher une barre d’outil sur les balises textarea
des formulaires de Crayons (avec le plugin Porte Plume) :
function documentation_insert_head($flux){
$flux .= <<<EOF
<script type="text/javascript">
<!--
(function($){
$(document).ready(function(){
/* Ajouter une barre porte plume sur les crayons */
function barrebouilles_crayons(){
$('.formulaire_crayon textarea.crayon-active').barre_outils('edition');
}
barrebouilles_crayons();
onAjaxLoad(barrebouilles_crayons);
});
})(jQuery);
-->
</script>
EOF;
return $flux;
}
La fonction JavaScript onAjaxLoad
permet de rappeler la fonction donnée en paramètre lors d’un rechargement AJAX d’un élément de la page.