Bonjour,
David a écrit :
Bonjour,
Je débute avec spip. J'ai commencé à me familiariser avec les squelettes. J'utilise la version 2.0
Je souhaite installer pour notre site collaboratif un agenda qui permettrait de relier les articles avec des dates, et que cela s'affiche dans la page sommaire de notre site au dessus par exemple de "rubrique".
J'ai installé Agenda 2.0, mais je ne vois pas comment ça fonctionne. Ça fait des heures que je lit tout ce que je trouve, mais soit ça me semble obsolète, soit c'est du domaine de l'incompréhensible pour moi.
Du point de vue d'un débutant à long terme, jouer avec l'agenda n'est pas franchement le plus gratifiant...
Pour tester l'affichage de l'agenda dans un article , j'ai rajouté au squelette de base de article.html:
[(#REM) Agenda ]
<inclure{fond=agenda}>
a plusieurs endroits, mais rien ne change...
Dans une boucle (articles), donc:
<B_avonsnousdesrendezvous>
<ul>
<BOUCLE_avonsnousdesrendezvous(EVENEMENTS) {id_article} {par date_debut}{inverse} >
<li>[le (#DATE_DEBUT|affdate{'d/m'}): ]#TITRE[, (#LIEU)]</li>
<BOUCLE_avonsnousdesrendezvous>
</ul>
</B_avonsnousdesrendezvous>
Après, on peut dégrossir (j'ai ça qui traîne sous la main, je ne prétends pas que ce soit un exemple de bonne syntaxe, ça date d'avant |oui... ça ne doit pas avoir bougé depuis deux ans; à insérer dans le <li> supra):
[(#DATE_DEBUT|jour|=={[(#DATE_FIN|jour)]}|?{
[(#DATE_DEBUT|affdate{'d/m'})] [(#HORAIRE|=={oui}|?{
[(#REM) memes heures ?]
[(#DATE_DEBUT|=={#DATE_FIN}|?{à [(#DATE_DEBUT|heures)]h[(#DATE_DEBUT|minutes)],''})]
[(#REM) pas memes heures ?]
[(#DATE_DEBUT|!={#DATE_FIN}|?{de [(#DATE_DEBUT|heures)]:[(#DATE_DEBUT|minutes)] à [(#DATE_FIN|heures)]:[(#DATE_FIN|minutes)],''})]
,''})]
,
du [(#DATE_DEBUT|nom_jour)] [(#DATE_DEBUT|affdate)] [(#HORAIRE|=={oui}|?{à partir de
[(#DATE_DEBUT|heures)]:[(#DATE_DEBUT|minutes)],''})] au [(#DATE_FIN|nom_jour)]
[(#DATE_FIN|affdate)] [(#HORAIRE|=={oui}|?{jusqu'à
[(#DATE_FIN|heures)]:[(#DATE_FIN|minutes)],''})] })]
[·(#LIEU)·]
Hors d'une boucle article, spip (trop fort) fera la jointure sur articles:
<BOUCLE_lagenda(EVENEMENTS) {par date}>
SELECT evenements.date_debut, evenements.titre, evenements.id_article
FROM spip_evenements AS `evenements`, spip_articles AS `articles`
WHERE (evenements.id_article NOT IN (
SELECT zzza.id_article
FROM `spipclg203`.spip_articles as zzza
WHERE 0=1))
AND (articles.id_article = evenements.id_article)
AND (articles.statut = "publie")
ORDER BY evenements.date_debut
--
hth,
FM