SPIP - Contrib

SPIP - Contrib

[ar] [en] [es] [fr] [it]

240 visiteurs en ce moment

fontsizeup fontsizedown
[5 commentaires]

Appeler des fonctions php dans un article

mardi 30 novembre 2004, par François Schreuer

  • Digg
  • Del.icio.us
  • Facebook
  • Google
  • Technorati
0 vote

D’après l’article Un nouveau raccourci pour appeler vos fonctions

Nous introduisons la possibilité de faire appel — dans le texte même d’une ressource spip — à des fonctions php.

Nous créons deux raccourcis :

Raccourci Action
[![ma_fonction("var1","var2")]!] Calcule le résultat renvoyé par la fonction ma_fonction avec les paramètres var1 et var2 et stocke le résultat dans le cache de manière statique
[!![ma_fonction("var1","var2")]!!] Insère des instructions dans le cache de spip pour la fonction ma_fonction soit exécutée lors de chaque chargement de page avec les variables var1 et var2

NB : Le nombre de variables pour chaque fonction est libre.

Pour pouvoir utiliser cette nouvelle fonctionnalité, suivez les trois étapes décrites ici.

1. Ajoutez les lignes suivantes dans votre fichier ecrire/mes_options.php3 (à créer si nécessaire).

2. Modifiez ensuite, aux lignes 353 et suivantes du fichier ecrire/inc_texte.php3, la fonction interdire_scripts de la façon suivante :

ATTENTION : Cette manipulation est dangereuse, en particulier si des utilisateurs dont vous n’êtes pas sûr ont le droit d’ajouter du texte sur votre site (même dans un forum !).

3. Enfin, créez un fichier inc_fonctions-perso.php3 dans le répertoire ecrire/ et placez-y vos fonctions personnelles, lesquelles devront répondre à deux critères :

  1. Etre nommées en commençant par la chaîne « fct_perso ». Ainsi, la fonction que vous appellerez par le raccouci [![ma_fonction]!] devra être en réalité nommée fct_perso_ma_fonction().

  2. Renvoyer une valeur (pas question d’utiliser un print ou un echo) ;
*

Un exemple est visible à l’adresse http://bologne.org/article.php3?id_....

Retour en haut de la page

5 Messages de forum

Voir toute la discussion

  • Répondre à ce message

    19 août 2005 16:54 , par James

    Où est le problème ?

    il a froid, c’est tout :-)

  • Répondre à ce message

    19 août 2005 16:11 , par François

    Bah déjà quand je vois dans la procédure qu’on parle du fichier "mes_options.php3" et non de "mes_fonctions.php3", ca refroidit mon envie de tester

    Ah bon, pourquoi ? Il se trouve que pour écrire des fonctions utilisant les points d’entrée de inc_texte.php3, c’est bien ecrire/mes_options.php3 qu’il faut utiliser. Où est le problème ?

    François

  • Répondre à ce message

    19 août 2005 16:05

    Bah déjà quand je vois dans la procédure qu’on parle du fichier "mes_options.php3" et non de "mes_fonctions.php3", ca refroidit mon envie de tester

  • Répondre à ce message

    19 août 2005 00:46 , par François

    A vue de nez, il ne doit pas y avoir grand chose de changé (sauf peut-être un peu la numérotation des lignes de ecire/inc_texte.php3. En tout cas, les « points d’entrée » sont toujours bons.

    Il faut essayer,... (puis rapporter l’info ici :))

    François

  • Répondre à ce message

    18 août 2005 20:15

    Tout ça est-il valable pour SPIP 1.8.1 ? et a defaut, quelles modifs il faut faire ? merci

Répondre à cet article

Retour en haut de la page

Ça discute par ici

SPIP | Squelette | | Plan du site | Suivre la vie du site RSS 2.0