en attendant l'agenda

Bonsoir,
pour ceux qui gèrent des « événements » en Spip et en attendant un véritable agenda comme l’a proposé Nicolas, voici trois boucles qui permettent de présenter les « événements à venir, en cours ou passés », sachant que par convention on choisit de rentrer dans l’article-événement la date de début de l’événement dans la date de publication et la date de fin de l’événement dans la date anti datée (en dessous de la date de publication). X est le numéro du mot clef qui qualifie l’article comme un événement (97 chez moi):


Les événements à venir



<BOUCLE_av(ARTICLES){id_mot=97}>
<BOUCLE_av2(ARTICLES){id_article}{age<0}>
#TITRE
#TEXTE
</BOUCLE_av2>
</BOUCLE_av>


Les événements en cours



<BOUCLE_encours(ARTICLES){id_mot=97}>
<BOUCLE_encours2(ARTICLES){id_article}{age_redac<=0}>
<BOUCLE_encours3(ARTICLES){id_article}{age>=0}>
#TITRE
#TEXTE
</BOUCLE_encours3>
</BOUCLE_encours2>
</BOUCLE_encours>


Les événements passés



<BOUCLE_passe(ARTICLES){id_mot=97}>
**<BOUCLE_passe2(ARTICLES){id_article}{age_redac>**0}>
#TITRE
#TEXTE
</BOUCLE_passe2>
</BOUCLE_passe>

Voila :slight_smile:

S.

Bravo pour l'échange d'expériences :wink:

Tu aurais aussi pu, toutefois, combiner les critères dans une même boucle,
ce qui simplifierait grandement ; et ajouter du conditionnel pour ne pas
avoir de titre s'il n'y a pas d'événement dans un groupe ; ce qui donnerait:

<B_av>
<BR><H3>Les événements à venir</H3><BR>
<BOUCLE_av(ARTICLES){id_mot=97}{age<0}>
#TITRE
#TEXTE
</BOUCLE_av>

<B_encours>
<BR><H3>Les événements en cours</H3><BR>
<BOUCLE_encours(ARTICLES){id_mot=97}{age_redac<=0}{age>=0}>
#TITRE
#TEXTE
</BOUCLE_encours>

<B_passe>
<BR><H3>Les événements passés</H3><BR>
<BOUCLE_passe(ARTICLES){id_mot=97}{age_redac>0}>
#TITRE
#TEXTE
</BOUCLE_passe>

-- Fil

Euh ben figure toi que j'avais agloméré les critères au début et que sous
Easy Php ca marche pas alors que ca marche en "décompacté" c'est bizarre
hein ?
Pour le texte conditionnel je voulais le faire après mais là c'est super ca
arrive tout fait :slight_smile:
S
----- Original Message -----
From: "Fil" <fil@rezo.net>
To: "S.Calas" <s.calas@wanadoo.fr>
Cc: "SPIP" <spip@rezo.net>
Sent: Wednesday, October 02, 2002 9:22 PM
Subject: Re: [Spip] en attendant l'agenda

Bravo pour l'échange d'expériences :wink:

Tu aurais aussi pu, toutefois, combiner les critères dans une même boucle,
ce qui simplifierait grandement ; et ajouter du conditionnel pour ne pas
avoir de titre s'il n'y a pas d'événement dans un groupe ; ce qui

donnerait:

<B_av>
<BR><H3>Les événements à venir</H3><BR>
<BOUCLE_av(ARTICLES){id_mot=97}{age<0}>
#TITRE
#TEXTE
</BOUCLE_av>

<B_encours>
<BR><H3>Les événements en cours</H3><BR>
<BOUCLE_encours(ARTICLES){id_mot=97}{age_redac<=0}{age>=0}>
#TITRE
#TEXTE
</BOUCLE_encours>

<B_passe>
<BR><H3>Les événements passés</H3><BR>
<BOUCLE_passe(ARTICLES){id_mot=97}{age_redac>0}>
#TITRE
#TEXTE
</BOUCLE_passe>

-- Fil

@ S.Calas <s.calas@wanadoo.fr> :

Euh ben figure toi que j'avais agloméré les critères au début et que sous
Easy Php ca marche pas alors que ca marche en "décompacté" c'est bizarre
hein ?

Tu devrais réessayer :wink:

-- Fil

bon je suis un peu limite mais plein bonne volonté...

dans le squelette de gasteroprod...
ça "bave" de codes bien à lui:
___________________________________________________
des filtres :
[(#DATE|jour|chiffrespar2)]

___________________________________________________
des appels du style
<?php require 'design_header.html'; ?>
___________________________________________________
  bref je supprime tellement de choses "qu'in fine" ,
je me demande où je suis et ce qui peut marcher...

En gros j'ai compris que :
son haut de page (bien à lui) était appelé dans son squelette
son bas de page itou...
comme son milieu de page...

mais je ne peux pas lui "piquer" ses filtres
car je suis dans l'impossibilités d'accéder à ses fonctions...
____________________________________________________
donc il nous faudrait ???
- un squelette de rubrique basique...
(qui porte le numéro de la rubrique
qui fonctionne en calendrier sur le site de chacun ?
exemple rubrique-21.html )

- filtres à inclure dans mes_fonctions.php3
si des filtres sont nécessaires un fichier

- un feuille de style pour modifier les couleurs de l'agenda ?

______________________________________________
j'ai un p'ti peu de bon ?

je le trouve tout bonnement génial cet agenda ... et du coup on aimerait
aussi qu'il fasse le café ....

sans parlé du café ... y aurait t il un moyen pour "répéter" les évènements
en ajoutant une notion de durée ?? (on utilise un champ de l'article pour
exprimer la durée)

exemple une expo sur trois jours ?

Jacques.

y aurait t il un moyen pour "répéter" les évènements en ajoutant une
notion de durée ?? (on utilise un champ de l'article pour exprimer
la durée)

Ce n'est qu'un squelette, chacun fait ce qu'il veut avec ...

-Nicolas

--
Nicolas "Brush" HOIZEY
  Free PHP projects http://www.phpheaven.net
Veille tous azimuts http://www.gasteroprod.com
         Clever Age http://www.clever-age.com

salut,
j'en parlais il y a quelques jours......

(ca marche pour les evenements qui ne durent pas plus d'un mois ... ca ne
passe pas le mois m+2 je crois)

ma date de l'evenement est dans #DATE_REDAC
mon nombre de jour est dans #PS

ensuite j'ai rajouté le code des lignes pour lire ce #PS et creer autant de
$events qu'il y a de jour.

C'est de la bidouille surement pas trés jolie mais ca marche.
a plus
chris

<?php
$date = ereg_replace("^([0-9]{4})-([0-9]{2})-([0-9]{2}).*$", "\\1\\2\\3",
'#DATE_REDAC');
$nbJour='[(#PS|texte_script)]';
if ($nbJour==0) $nbJour++;

for ($i=0;$i<$nbJour;$i++) {
  if ($date > date("Ymd", mkdate($M, $D - 31, $Y)) && $date < date("Ymd",
mkdate($M, $D + 31, $Y)))
         {
    if (!isset($events[$date])) {$events[$date] = array();}

    $events[$date][] = array('link' => '#URL_ARTICLE', 'title' =>
'[(#TITRE|texte_script)]', 'logo' => '[<img
src="IMG/(#LOGO_ARTICLE_RUBRIQUE|fichier)" border="0" alt="" >]',
                       'poplink' =>
$rub.'[(#SURTITRE|texte_script)<br>][(#TITRE|texte_script)<br>][(#SOUSTITRE|
texte_script)]');

$jour=(mkdate(substr($date,4,2),substr($date,6,2),substr($date,0,4)))+86400;
    $date=date("Ymd",$jour) ;
      }
} //for
?>

----- Original Message -----
From: "jack" <jack.plard@wanadoo.fr>
To: "spip" <spip@rezo.net>
Sent: Thursday, October 03, 2002 8:44 AM
Subject: Re: [Spip] agenda svp

je le trouve tout bonnement génial cet agenda ... et du coup on aimerait
aussi qu'il fasse le café ....

sans parlé du café ... y aurait t il un moyen pour "répéter" les évènements
en ajoutant une notion de durée ?? (on utilise un champ de l'article pour
exprimer la durée)

exemple une expo sur trois jours ?

Jacques.

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.uzine.net/spip

Ou alors (mais je sais pas comment ca s'integrerait dans l'agenda parce que
j'ai pas encoré été mettre mon nez dedans on se sert de date (= date de
rédaction) pour le début de l'événement et Date post datée (=date rédac)
pour la fin. Ce qui permet de savoir si un événement est en cours par le
test/critère datefin<date en cours<date début. En spip ca donne ca à voir
comment ca se glisse dans l'agenda :
<B_encours>

<BR><H3>Les événements en cours</H3><BR>
<BOUCLE_encours(ARTICLES){id_mot=97}{age_redac<=0}{age>=0}>
#TITRE
#TEXTE
</BOUCLE_encours>

S

----- Original Message -----
From: "Christophe" <chris_del@art-image.com>
To: "jack" <jack.plard@wanadoo.fr>; "spip" <spip@rezo.net>
Sent: Thursday, October 03, 2002 2:46 PM
Subject: Re: [Spip] agenda svp

salut,
j'en parlais il y a quelques jours......

(ca marche pour les evenements qui ne durent pas plus d'un mois ... ca ne
passe pas le mois m+2 je crois)

ma date de l'evenement est dans #DATE_REDAC
mon nombre de jour est dans #PS

ensuite j'ai rajouté le code des lignes pour lire ce #PS et creer autant

de

$events qu'il y a de jour.

C'est de la bidouille surement pas trés jolie mais ca marche.
a plus
chris

<?php
$date = ereg_replace("^([0-9]{4})-([0-9]{2})-([0-9]{2}).*$", "\\1\\2\\3",
'#DATE_REDAC');
$nbJour='[(#PS|texte_script)]';
if ($nbJour==0) $nbJour++;

for ($i=0;$i<$nbJour;$i++) {
  if ($date > date("Ymd", mkdate($M, $D - 31, $Y)) && $date < date("Ymd",
mkdate($M, $D + 31, $Y)))
         {
    if (!isset($events[$date])) {$events[$date] = array();}

    $events[$date] = array('link' => '#URL_ARTICLE', 'title' =>
'[(#TITRE|texte_script)]', 'logo' => '[<img
src="IMG/(#LOGO_ARTICLE_RUBRIQUE|fichier)" border="0" alt="" >]',
                       'poplink' =>

$rub.'[(#SURTITRE|texte_script)<br>][(#TITRE|texte_script)<br>][(#SOUSTITRE|

texte_script)]');

$jour=(mkdate(substr($date,4,2),substr($date,6,2),substr($date,0,4)))+86400;

    $date=date("Ymd",$jour) ;
      }
} //for
?>

----- Original Message -----
From: "jack" <jack.plard@wanadoo.fr>
To: "spip" <spip@rezo.net>
Sent: Thursday, October 03, 2002 8:44 AM
Subject: Re: [Spip] agenda svp

je le trouve tout bonnement génial cet agenda ... et du coup on aimerait
aussi qu'il fasse le café ....

sans parlé du café ... y aurait t il un moyen pour "répéter" les

évènements

en ajoutant une notion de durée ?? (on utilise un champ de l'article pour
exprimer la durée)

exemple une expo sur trois jours ?

Jacques.

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.uzine.net/spip

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.uzine.net/spip