Plugin agenda, comparer date debut et date fin

Bonjour,
Je voudrais comparer la date du debut et la date de fin d'un evenement pour ne pas afficher "du 1er avril au 1er avril", mais "le 1er avril de 12h à 14h"

Le problement c'est que date debut est différent de date fin dans mon exemple car date debut vaut : "2006-04-01 12:00:00" et date fin vaut "2006-04-01 14:00:00"...

Comment faire ?

Thomas a écrit :

Bonjour,
Je voudrais comparer la date du debut et la date de fin d'un evenement pour ne pas afficher "du 1er avril au 1er avril", mais "le 1er avril de 12h à 14h"

Le problement c'est que date debut est différent de date fin dans mon exemple car date debut vaut : "2006-04-01 12:00:00" et date fin vaut "2006-04-01 14:00:00"...

Comment faire ?

Utilise les filtres de test : Les filtres de SPIP - SPIP

Maïeul

Merci de ta réponse :slight_smile:
J'ai essayé

[(#DATE_DEBUT|=={#DATE_FIN}|?{
le [(#DATE_DEBUT|nom_jour)] [(#DATE_DEBUT|affdate)] à partir de
[(#DATE_DEBUT|heures)]H[(#DATE_DEBUT|minutes)],
du [(#DATE_DEBUT|nom_jour)] [(#DATE_DEBUT|affdate)] à partir de
[(#DATE_DEBUT|heures)]H[(#DATE_DEBUT|minutes)] au [(#DATE_FIN|nom_jour)]
[(#DATE_FIN|affdate)] jusqu'à
[(#DATE_FIN|heures)]H[(#DATE_FIN|minutes)] })]

Mais le probleme est cette histoire des heures... Et je ne peut pas mettre un filtre du type [(#DATE_DEBUT|nom_jou)] avec cette syntaxe...

Maïeul Rouquette a écrit :

Thomas a écrit :

Bonjour,
Je voudrais comparer la date du debut et la date de fin d'un evenement pour ne pas afficher "du 1er avril au 1er avril", mais "le 1er avril de 12h à 14h"

Le problement c'est que date debut est différent de date fin dans mon exemple car date debut vaut : "2006-04-01 12:00:00" et date fin vaut "2006-04-01 14:00:00"...

Comment faire ?

Utilise les filtres de test : Les filtres de SPIP - SPIP

Maïeul

Le 5 juil. 06 à 20:05, Thomas a écrit :

Merci de ta réponse :slight_smile:
J'ai essayé

[(#DATE_DEBUT|=={#DATE_FIN}|?{
le [(#DATE_DEBUT|nom_jour)] [(#DATE_DEBUT|affdate)] à partir de
[(#DATE_DEBUT|heures)]H[(#DATE_DEBUT|minutes)],
du [(#DATE_DEBUT|nom_jour)] [(#DATE_DEBUT|affdate)] à partir de
[(#DATE_DEBUT|heures)]H[(#DATE_DEBUT|minutes)] au [(#DATE_FIN|nom_jour)]
[(#DATE_FIN|affdate)] jusqu'à
[(#DATE_FIN|heures)]H[(#DATE_FIN|minutes)] })]

Mais le probleme est cette histoire des heures... Et je ne peut pas
mettre un filtre du type [(#DATE_DEBUT|nom_jou)] avec cette syntaxe...

Maïeul Rouquette a écrit :

Thomas a écrit :

Bonjour,
Je voudrais comparer la date du debut et la date de fin d'un evenement
pour ne pas afficher "du 1er avril au 1er avril", mais "le 1er avril de
12h à 14h"

Le problement c'est que date debut est différent de date fin dans mon
exemple car date debut vaut : "2006-04-01 12:00:00" et date fin vaut
"2006-04-01 14:00:00"...

Comment faire ?

DATE_DEBUT|affdate{'Ymd'}|>={[(#DATE_FIN|affdate{'Ymd'})]}|?{[.......

L'idée est de ne comparer que la date sans horaires et sans les tirets ou espace afin de comparer des nombres.

pierre

Thomas wrote:

Bonjour,
Je voudrais comparer la date du debut et la date de fin d'un evenement pour ne pas afficher "du 1er avril au 1er avril", mais "le 1er avril de 12h à 14h"

Le problement c'est que date debut est différent de date fin dans mon exemple car date debut vaut : "2006-04-01 12:00:00" et date fin vaut "2006-04-01 14:00:00"...

Comment faire ?

Ci-dessous, honteusement barboté à J. Pyrat et Françoise (?), sur cette liste, et un peu arrangé, jusqu'à ce que je fatigue de faire des noeuds tout seul... (dans cette utilisation, ça récupère les évènements de l'article courant seulement, et ça mériterait d'être nettoyé):

<B_lesevenements>
<h3 class="spip">&Eacute;v&egrave;nements associ&eacute;s</h3>
<ul class="spip">
<BOUCLE_lesevenements(EVENEMENTS) {par date} {id_article}>
<li class="spip"><strong>[(#TITRE|supprimer_numero|couper{80})]&nbsp;:</strong>
  [(#DATE_DEBUT|jour|=={[(#DATE_FIN|jour)]}|?{
  le [(#DATE_DEBUT|nom_jour)] [(#DATE_DEBUT|affdate)] [(#HORAIRE|=={oui}|?{
   [(#REM) memes heures ?]
     [(#DATE_DEBUT|=={#DATE_FIN}|?{&agrave [(#DATE_DEBUT|heures)]h[(#DATE_DEBUT|minutes)],''})]
   [(#REM) pas memes heures ?]
     [(#DATE_DEBUT|!={#DATE_FIN}|?{de [(#DATE_DEBUT|heures)]:[(#DATE_DEBUT|minutes)] &agrave; [(#DATE_FIN|heures)]:[(#DATE_FIN|minutes)],''})]
,''})]
,
  du [(#DATE_DEBUT|nom_jour)] [(#DATE_DEBUT|affdate)] [(#HORAIRE|=={oui}|?{&agrave; partir de
  [(#DATE_DEBUT|heures)]H[(#DATE_DEBUT|minutes)],''})] au [(#DATE_FIN|nom_jour)]
  [(#DATE_FIN|affdate)] [(#HORAIRE|=={oui}|?{jusqu'&agrave;
  [(#DATE_FIN|heures)]H[(#DATE_FIN|minutes)],''})] })]
[-&nbsp;lieu&nbsp;: (#LIEU)]
</li>
  </BOUCLE_lesevenements>
</ul>
</B_lesevenements>

--
cordialement,

   Frédéric Moinard

Merci à vous deux, ça marche impec maintenant (ex ici : toutankharton.com - Ressources et information concernant toutankharton Resources and Information.)

Bon, j'ai un autre probleme avec l'agenda, mais je vais creer un autre sujet..

F. Moinard a écrit :

Thomas wrote:

Bonjour,
Je voudrais comparer la date du debut et la date de fin d'un evenement pour ne pas afficher "du 1er avril au 1er avril", mais "le 1er avril de 12h à 14h"

Le problement c'est que date debut est différent de date fin dans mon exemple car date debut vaut : "2006-04-01 12:00:00" et date fin vaut "2006-04-01 14:00:00"...

Comment faire ?

Ci-dessous, honteusement barboté à J. Pyrat et Françoise (?), sur cette liste, et un peu arrangé, jusqu'à ce que je fatigue de faire des noeuds tout seul... (dans cette utilisation, ça récupère les évènements de l'article courant seulement, et ça mériterait d'être nettoyé):

<B_lesevenements>
<h3 class="spip">&Eacute;v&egrave;nements associ&eacute;s</h3>
<ul class="spip">
<BOUCLE_lesevenements(EVENEMENTS) {par date} {id_article}>
<li class="spip"><strong>[(#TITRE|supprimer_numero|couper{80})]&nbsp;:</strong>
  [(#DATE_DEBUT|jour|=={[(#DATE_FIN|jour)]}|?{
  le [(#DATE_DEBUT|nom_jour)] [(#DATE_DEBUT|affdate)] [(#HORAIRE|=={oui}|?{
   [(#REM) memes heures ?]
     [(#DATE_DEBUT|=={#DATE_FIN}|?{&agrave [(#DATE_DEBUT|heures)]h[(#DATE_DEBUT|minutes)],''})]
   [(#REM) pas memes heures ?]
     [(#DATE_DEBUT|!={#DATE_FIN}|?{de [(#DATE_DEBUT|heures)]:[(#DATE_DEBUT|minutes)] &agrave; [(#DATE_FIN|heures)]:[(#DATE_FIN|minutes)],''})]
,''})]
,
  du [(#DATE_DEBUT|nom_jour)] [(#DATE_DEBUT|affdate)] [(#HORAIRE|=={oui}|?{&agrave; partir de
  [(#DATE_DEBUT|heures)]H[(#DATE_DEBUT|minutes)],''})] au [(#DATE_FIN|nom_jour)]
  [(#DATE_FIN|affdate)] [(#HORAIRE|=={oui}|?{jusqu'&agrave;
  [(#DATE_FIN|heures)]H[(#DATE_FIN|minutes)],''})] })]
[-&nbsp;lieu&nbsp;: (#LIEU)]
</li>
  </BOUCLE_lesevenements>
</ul>
</B_lesevenements>

--
cordialement,

   Frédéric Moinard

* Thomas tapotait, le 05/07/2006 18:07:

Bonjour,
Je voudrais comparer la date du debut et la date de fin d'un evenement pour ne pas afficher "du 1er avril au 1er avril", mais "le 1er avril de 12h à 14h"

Le problement c'est que date debut est différent de date fin dans mon exemple car date debut vaut : "2006-04-01 12:00:00" et date fin vaut "2006-04-01 14:00:00"...

Comment faire ?

Un filtre !

Et pour l'appeler :
[(#DATE_DEBUT|afficher_les_dates{#DATE_FIN,#HORAIRE,0,0,1})]
par exemple.

--
Jacques — SPIP - Pyrat.net – Création de sites Internet

Je détourne légèrement la question de Thomas concernant la mise en oeuvre de la
boucle AGENDA et les dates de fin d'événements.

Le critère de tri {age} semble se baser sur la date de début d'événement.
Existe-t-il un critère équivalent comme {age_fin} pour faire un tri sur la date
de fin d'événement?
Ainsi si l'événement dure 30 jours, le test {age_fin<0} permettrait de le
sélectionner dans la boucle des événement "en cours" et "à venir", jusqu'à ce
qu'il soit terminé, tout comme les événements ponctuels à venir.

A moins qu'un autre test évident sur la comparaison de "date du jour" avec
#DATE_FIN soit possible mais je ne l'ai pas trouvé.

. Pierre .

A moins qu'un autre test évident sur la comparaison de "date du jour" avec
#DATE_FIN soit possible mais je ne l'ai pas trouvé.

Après moult tests, je me répond:
Le critère {date_fin>=#ENV{date}} répond entièrement à la question.

. Pierre .