SPIP - Contrib

SPIP - Contrib

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

102 visiteurs en ce moment

fontsizeup fontsizedown
Accueil du site > Contribs > Agendas et Dates > Affichage selon dates > Nouvelle balise : exemple avec #MAINTENANT
[2 commentaires]

Nouvelle balise : exemple avec #MAINTENANT

mardi 17 janvier 2006, par Christian.Mercat, DoriaN

0 vote

Une balise qui retourne la date d’aujourd’hui, et quelques infos sur comment écrire ses balises personnalisées.

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

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 fonction interdire_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 :

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.

Retour en haut de la page

2 Messages de forum

Voir toute la discussion

Répondre à cet article

Retour en haut de la page

Ça discute par ici