Les filtres de SPIP
Ce document est presque le meme qu'on peut trouver sur
Uzine,
Les filtres sur SPIP
Il n'y a pas besoin de modifier l'structure, seulement
de ajouter des funtions a le fichier my functions.
Il est un filtre et pas une valise.
Notre probleme peut il etre resolu avec un filtre
comme
#IDARTICLE|checkbouton
et dans le fichier mes fontions.
<?php
function checkbouton($id_article) {
$result = mysql_query(....
if($result["statut"] == 'publie')
return "<img .....>";
else
return "< img .....>"
}
?>
Ajouter ses propres fonctions
Les filtres de SPIP sont des fonctions PHP à une seule
variable. Vous pouvez utiliser directement les
fonctions habituelles de PHP, mais également créer les
vôtres (à la condition qu'elles n'aient qu'une seule
variable), sur le modèle :
<?php
function mon_filtre($texte){
$texte = (bidouillages en PHP) ...;
return $texte;
}
?>
Afin de ne pas avoir à modifier des fichiers de SPIP
(qui risqueraient d'être écrasés lors d'une prochaine
mise à jour), vous pouvez installer vos fonctions
personnelles dans un fichier mes_fonctions.php3 : si
SPIP repère un fichier ayant ce nom, il l'inclut
automatiquement.
Par exemple, ARNO* a développé le filtre enlettres,
qui n'est pas inclus dans la distribution standard de
SPIP. Ce filtre écrit un nombre en toutes lettres (
[(#DATE|annee|enlettres)] = « deux mille deux ») ; ce
filtre peut être téléchargé sur
http://rezo.net/spip-dev/contrib/ARNO/ ; il suffit de
l'ajouter dans votre fichier mes_fonctions.php3 pour
l'utiliser.
Autre exemple, pour faire un filtre qui coupe les
textes à une longueur donnée (ex : 50 caractères), on
peut créer le filtre personnalisé suivant dans
mes_fonctions.php3 :
<?php
function couper50($texte) {
return couper($texte, 50);
}
?>
--
IosebaR - 12 Nov 2002
to top