Fonctions
fonction inc_nom_dist() peut être surchargée par inc_nom
$f = charger_fonction('nom','inc');
$f('param');
Fichiers
ecrire/inc/nom.php
⇒ squelettes/inc/nom.php
$f = find_inc_path('inc/nom.php');
#CHEMIN{images/z.png}
Pipelines
$data = pipeline('nom', 'contenu');
Exemple : insert_head
ecrire/inc_version.php contient 40 définitions de pipelines
$GLOBALS['spip_pipeline']['insert_head'] = "passe_ici|passe_la";
$data = pipeline('nom', array (
'arg' => array( ),
'data' => ""
));
Déclaration dans plugin.xml :
<pipeline>
<nom>insert_head</nom>
<inclure>prefix_pipelines.php</inclure>
</pipeline>
prefix_pipelines.php :
<?php
fonction prefix_insert_head($flux) {
$flux .= "texte";
}
?>
Astuce pour mise au point : var_dump($flux);
function contacts_affiche_gauche($flux){
if ($flux['args']['exec'] == 'auteur_infos'){
$flux['data'] .= recuperer_fond('prive/boite/selecteur_contacts_comptes', array(
'id_auteur'=>$flux['args']['id_auteur']
), array('ajax'=>true));
}
return $flux;
}
Dans les squelettes
#PIPELINE{nom,valeur}
[(#PIPELINE{nom,[(#ARRAY{
args,[(#ARRAY{objet,auteur,id_objet,3})]
})]})]
Pipeline recuperer_fond
On peut écouter tous les résultats d’un squelette, et le modifier éventuellement avant leur mise en cache.
Astuce dans un squelette
[<pre>(#ENV**|unserialize|print_r{1})</pre>]
<?php echo '<pre>'; print_r($var); echo '</pre>'; ?>