Un petit exemple tout simple de balise définie par l’utilisateur, utile en soi mais aussi pour que l’administrateur néophyte puisse le modifier pour créer ses propres balises.
Pour (re-)définir une balise calculée par le compilateur, il suffit de déclarer une fonction dans mes_fonctions.php3. Le nom de la fonction pour la balise #X doit être balise_X. Si la balise #X existait, elle sera redéfinie.
Exemple : Balise #MAINTENANT
function balise_MAINTENANT($params) {
$params->code = "date('Y-m-d')";
$params->type = 'php';
return $params;
}
cette fonction est en 2 parties :
- code reçoit le code php de la balise
Bien-sûr, le code php peut-être arbitrairement compliqué. Ici, ça rend simplement la date sous la forme 2005-10-20 pour le jeudi 20 octobre 2005. - type peut recevoir 2 valeurs
-
php
, pour signaler que le php qui est renvoyé par la fonction est considéré comme sûr. -
html
, pour signaler qu’on est pas sûr de php renvoyé, donc qu’il faut le passer dans la fonctioninterdire_script
(dans le doute, utilisez cette valeur).
-
Pour des balises disons « évoluées » regardez du côté du spikini la page CrerSaBalise ; attention, niveau expert !
Utilisation : 2 exemples
1. L’objectif : j’ai rajouté des champs de date à mes tables, je voudrai les comparer à la date d’aujourd’hui. Par exemple, avec des colonnes « arrivee » et « depart », la boucle suivante :
<BOUCLE_presents(AUTEURS){arrivee <= #MAINTENANT}{depart >= #MAINTENANT}>
me sélectionne les auteurs qui sont présents en ce moment : dont la date de départ est passée (inférieure ou égale à maintenant) et la date de départ non encore arrivée.
2. Un problème évoqué souvent est celui de la date du jour dans un fichier inclus. Normalement pour afficher la date du jour [(#DATE)]
en dehors des boucles spip fonctionne très bien, ainsi que #ENV{date}
, qui donne aussi la date du jour. Mais pas si cette instruction se trouve dans un fichier inclus. Avec cette balise ce problème est résolu.
Discussions par date d’activité
Une discussion
Mais où se trouve ce fichier mes_fonctions.php3 ?
S’il faut le créer, où est-ce qu’on le met ?
oui il faut le créer dans le répertoire ecrire
c’est dans le lien
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |