Aggréger par semaine sur la date de publication antérieure

Bonjour,

J'ai besoin d'un agenda avec une fonctionnalité assez particulière:
- afficher la liste des articles par semaine (basée sur date_redac)
- avec des liens "semaine suivante" "semaine précédente" une navigation idéalement ajaxée (comme décrit dans http://www.spip-contrib.net/Pagination-a-la-Facebook)
- on "saute" les semaines sans article

En l'état actuel des chose, j'ai la boucle suivante, sans contexte de date:

<div>
  <h2>Agenda</h2>
  <ul><BOUCLE_agenda(ARTICLES){id_rubrique=2}{par date_redac}{inverse}>
    <li>[(#DATE_REDAC|affdate_jourcourt)] #TITRE</li></BOUCLE_agenda>
  </ul>
</div>

Maintenant comment limiter uniquement les articles avec date_redac = semaine en cours? date_redac = la semaine prochaine?

Selon http://www.spip.net/fr_article1971.html, on peut créer un contexte de date en passant date=-1year en paramètre dans l'URL mais je ne suis pas parvenu à obtenir un résultat similaire avec une aggrégation hebdomadaire sur la date_redac.

En fait; il me faudrait un critere du genre date_redac=+1week que je puisse passer en parametre d'URL par exemple.

Quelqu'un est-il déjà tomber sur ce genre de situation et comment a-t-il gérer ça?

Merci de votre aide.

Cordialement,

Michael

Bonjour,

Je me réponds pour faire profiter à tous le monde de mes trouvailles. En résumé; je veux un agenda qui m'affiche les événements, une semaine à la fois (du lundi au dimanche) avec une navigation précédent/suivant qui m'évite de tomber sur une semaine sans événement. J'ai écris la noisette suivante, il n'y a plus qu'à ajaxifier.

Vos commentaires sont les bienvenus pour améliorer la noisette.

==============================================
<div>

  <h2>Agenda</h2>
  #SET{datesel,#DATE|affdate{'YW'}}
  
  <ul><BOUCLE_agenda(ARTICLES){id_rubrique=2}{par date_redac}{inverse}>
    [(#DATE_REDAC|affdate{'YW'}|>{#GET{datesel}}|?{#SET{next,#DATE_REDAC}})]
    
    #SET{item,<li>(#DATE_REDAC|affdate_jourcourt)&nbsp;- #TITRE</li>}
    [(#DATE_REDAC|affdate{'YW'}|=={#GET{datesel}}|?{#GET{item}, ''})]
    
    [(#GET{prev}|is_null|=={1}|et{#DATE_REDAC|affdate{'YW'}|<{#GET{datesel}}}|?{#SET{prev,#DATE_REDAC}})]

    </BOUCLE_agenda>
  </ul>

[(#GET{prev}|is_null|=={1}|?{'',<a href="[(#SELF|parametre_url{date,#GET{prev}})]">Plus t&ocirc;t</a>})]
[(#GET{next}|is_null|=={1}|?{'',<a href="[(#SELF|parametre_url{date,#GET{next}})]">Plus tard</a>})]
  
</div>

Cordialement,

Michael

Le 13 févr. 2012 à 00:39, Michaël Thanry a écrit :

Bonjour,

J'ai besoin d'un agenda avec une fonctionnalité assez particulière:
- afficher la liste des articles par semaine (basée sur date_redac)
- avec des liens "semaine suivante" "semaine précédente" une navigation idéalement ajaxée (comme décrit dans Pagination « à la Facebook » - SPIP-Contrib)
- on "saute" les semaines sans article

En l'état actuel des chose, j'ai la boucle suivante, sans contexte de date:

<div>
  <h2>Agenda</h2>
  <ul><BOUCLE_agenda(ARTICLES){id_rubrique=2}{par date_redac}{inverse}>
    <li>[(#DATE_REDAC|affdate_jourcourt)] #TITRE</li></BOUCLE_agenda>
  </ul>
</div>

Maintenant comment limiter uniquement les articles avec date_redac = semaine en cours? date_redac = la semaine prochaine?

Selon La gestion des dates - SPIP, on peut créer un contexte de date en passant date=-1year en paramètre dans l'URL mais je ne suis pas parvenu à obtenir un résultat similaire avec une aggrégation hebdomadaire sur la date_redac.

En fait; il me faudrait un critere du genre date_redac=+1week que je puisse passer en parametre d'URL par exemple.

Quelqu'un est-il déjà tomber sur ce genre de situation et comment a-t-il gérer ça?

Merci de votre aide.

Cordialement,

Michael