Skip to content

Instantly share code, notes, and snippets.

@ms-studio
Last active December 19, 2015 05:59
Show Gist options
  • Save ms-studio/5907691 to your computer and use it in GitHub Desktop.
Save ms-studio/5907691 to your computer and use it in GitHub Desktop.
Des boucles d'écriture de date, pour des EVENEMENTS du plugin SPIP Agenda...
Exemple 1:
Format souhaité:
- si un seul jour: "24.10.13"
- si plusieurs jours: "08.10 - 20.10.13"
- si les années sont différentes: "18.12.13 - 10.01.14"
le code:
[(#DATE_DEBUT|jour|=={[(#DATE_FIN|jour)]}|?{
[(#DATE_DEBUT|affdate{'d.m.y'})],
[(#DATE_DEBUT|annee|=={[(#DATE_FIN|annee)]}|?{
[(#DATE_DEBUT|affdate{'d.m'})] - [(#DATE_FIN|affdate{'d.m.y'})] ,
[(#DATE_DEBUT|affdate{'d.m.y'})] - [(#DATE_FIN|affdate{'d.m.y'})]
})]
})]
****************
Exemple 2:
Format souhaité:
- si un seul jour: "mardi 20 mai"
- si plusieurs jours: "du mercredi 11 septembre au dimanche 22 septembre"
le code:
[(#DATE_DEBUT|jour|=={[(#DATE_FIN|jour)]}|?{
[(#DATE_DEBUT|nom_jour)] [(#DATE_DEBUT|affdate_jourcourt)],
du [(#DATE_DEBUT|nom_jour)] [(#DATE_DEBUT|affdate_jourcourt)] au [(#DATE_FIN|nom_jour)] [(#DATE_FIN|affdate_jourcourt)]
})]
****************
Exemple 3 (le Saint Graal...):
Format souhaité:
- si un seul jour: "mardi 20 mai (2014)"
- si plusieurs jours, même mois: "du 11 au 22 septembre (2014)"
- si plusieurs mois: "du 11 octobre au 22 septembre (2014)"
le code:
[[(#REM)
<!-- question #1 = jour identique? -->
](#DATE_DEBUT
|affdate
|=={[(#DATE_FIN|affdate)]}
|?{[(#REM)
<!-- réponse #1 = oui, un seul jour -->
][<span class="jour">(#DATE_DEBUT|nom_jour)</span>] [(#DATE_DEBUT|affdate)],[(#REM)
<!-- réponse #1 = non, plusieurs jours.
question #2 = mois identique? -->
][(#DATE_DEBUT
|mois
|=={[(#DATE_FIN|mois)]}
|?{
[(#REM)
<!-- réponse #2 = oui, un mois.
question #3 = année identique? -->
][(#DATE_DEBUT
|annee
|=={[(#DATE_FIN|annee)]}
|?{
[<!--même mois & année-->Du (#DATE_DEBUT|jour)][ au (#DATE_FIN|affdate)],
[<!--deux années-->Du (#DATE_DEBUT|affdate)][ au (#DATE_FIN|affdate)]
})],
[(#REM)
<!-- réponse #2 = plusieurs mois.
question #3 = année identique? -->
][(#DATE_DEBUT
|annee
|=={[(#DATE_FIN|annee)]}
|?{
[<!--même année-->Du (#DATE_DEBUT|jour)][ (#DATE_DEBUT|nom_mois)][ au (#DATE_FIN|affdate)],
[<!--plusieurs années-->Du (#DATE_DEBUT|affdate)][ au (#DATE_FIN|affdate)]
})]
})]
})]
****************
Références:
* http://contrib.spip.net/Utilisation-des-filtres-de-date?lang=fr
* http://www.spip.net/fr_article901.html
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment