Moyens de surcharger SPIP

Mardi 20 juillet 2010 — Dernier ajout mercredi 26 février 2025

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>'; ?>

Dans la même rubrique…

Revenir en haut