A la différence du critère {date}
, qui permet de sélectionner un article en fonction de la date passée dans l’URL [1], le critère {age}
sélectionne les articles en fonction de la durée qui sépare leur date de publication en ligne de la date courante [2].
Avec le plugin Agenda, on a même la possibilité d’utiliser deux variantes pour la gestion des événements : {age_debut}
et {age_fin}
Quelques tableaux pour comprendre la logique de SPIP
Age | Comparateur | Valeur | C’est à dire | Ce qui signifie | Et si rien d’autre n’est précisé... |
---|---|---|---|---|---|
age | <= | -1 | +1 jour | depuis demain... | jusqu’à la fin du monde |
age | <= | 0 | aujourd’hui | depuis aujourd’hui... | jusqu’à la fin du monde |
age | <= | 1 | -1 jour | depuis hier... | jusqu’à la fin du monde |
age | <= | 2 | -2 jours | depuis avant-hier... | jusqu’à la fin du monde |
age | <= | 365 | -365 jours | depuis un an... | jusqu’à la fin du monde |
Age | Comparateur | Valeur | C’est à dire | Ce qui signifie | Et si rien d’autre n’est précisé... |
---|---|---|---|---|---|
age | >= | 1 | -1 jour | jusqu’à hier | depuis l’aube des temps |
age | >= | 0 | aujourd’hui | jusqu’à aujourd’hui | depuis l’aube des temps |
age | >= | -1 | +1 jour | jusqu’à demain | depuis l’aube des temps |
age | >= | -2 | +2 jours | jusqu’à après demain | depuis l’aube des temps |
age | >= | -365 | +365 jours | jusque dans un an | depuis l’aube des temps |
Remarque : les tableaux ci-dessus utilisent les comparateurs non stricts <= ou >=... c’est à dire incluant la valeur spécifiée. L’utilisation des comparateurs stricts < ou > exclut les valeurs spécifiées. C’est à dire :
-
{age>=1}
signifie jusqu’à hier inclus -
{age>1}
signifie jusqu’à hier non inclus , donc jusqu’à avant-hier
Valeur SPIP | 365 | 30 | 7 | 1 | 0 | -1 | -7 | -30 | -365 |
Traduction | il y a 1 an | il y a 1 mois | il y a 1 semaine | hier | 0 | demain | dans 1 semaine | dans 1 mois | dans 1 an |
Quelques exemples d’utilisation
- Sur ma page d’accueil, je souhaite afficher les évènements en cours et programmés jusque dans les 30 prochains jours, en commençant par ceux qui s’achèveront en premier :
<BOUCLE_alaffiche(EVENEMENTS){age_fin<=0}{age_debut>=-30}{par date_fin}{statut=publie}>
- Sur les articles auxquels les évènements sont associés, je mets deux boucles :
- Une boucle avant le texte de l’article, pour afficher les évènements en cours ou à venir dans les 180 prochains jours :
<BOUCLE_lesevenementsalaffiche(EVENEMENTS){id_article} {age_fin<=0}{age_debut>=-180} {par date_fin}>
- Une boucle après le texte de l’article, pour afficher les évènements passés, jusqu’à 180 jours en arrière :
<BOUCLE_lesevenementspasses(EVENEMENTS){id_article} {age_debut<=180}{age_fin>0} {par date_fin}>
- Une boucle avant le texte de l’article, pour afficher les évènements en cours ou à venir dans les 180 prochains jours :
Discussions par date d’activité
5 discussions
bonjour,
est-il possible d’afficher un événement jusqu’à par exemple 6 heures avant le début de cet événement ?
Répondre à ce message
Bonjour,
Je calcule à l’aide d’un filtre une période de jours (ici, 49), avec ma balise set et get, j’affiche bien ce nombre.
Mais lorsque je demande à afficher les événements depuis 49 jours avec get, je n’ai pas le même résultat qu’avec le nombre...
<BOUCLE_evts(EVENEMENTS){id_article?}{age_debut<=#GET{dateabsolue}}{par date_debut}>
<BOUCLE_evts(EVENEMENTS){id_article?}{age_debut<=49}{par date_debut}>
Je n’y comprends rien !!
Je suis finalement passé par un autre chemin en utilisant le critère
<!evenement_passe #GET{depart}>
ou depart est une date calculée. :-/Répondre à ce message
Bonjour,
J’essaye d’utiliser ce critère pour un objet éditorial que j’ai crée via nouveau plugin. mais du coup dans une boucle pour cet objet INCIDENT, spip ne reconnait pas le critère. Y a t-il moyen de le redéfinir pour mon nouvel objet ?
Normalement cela dépend de la bonne déclaration des champs dans ton declarer_tables_objets_sql
ce serait le champ date_debut ?
Voici une partie de mon code :
ah bah du coup ce sera
{age_debut}>
et{age_fin}
selon le champ date correspondant.Merci, j’aurais pu chercher un moment.
:D
Répondre à ce message
Ok, je pense avoir trouvé :
{age_debut<1}{age_fin>-1}
Répondre à ce message
Bonjour, j’éprouve des difficultés à afficher les événements (plugin agenda) de toute la journée de 00:01 à 23:59 ? Quelqu’un connaît-il les bons critères ?
Pour le moment j’utilise une boucle avec les critères
{age_debut<=1}{age_fin>=-1}
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 : |