SPIP - Contrib

SPIP - Contrib

[ar] [en] [es] [fr] [it]

63 visiteurs en ce moment

fontsizeup fontsizedown
[31 commentaires]

Calendrier séquentiel

samedi 13 septembre 2003, par Robert Sebille

Toutes les versions de cet article : [français] [français]

  • Digg
  • Del.icio.us
  • Facebook
  • Google
  • Technorati

Un calendrier séquentiel ou les évènements futurs seront affichés et classés dans l’ordre de leur date de début et disparaitront une fois leur date de fin dépassée.

Description

  • Le calendrier permet la publication d’événements qui s’étendent sur plusieurs jours
  • On utilise la date de publication en ligne comme date de départ et la date de publication antérieure comme date de fin.
  • Les évènements disparaitront une fois leur date de fin dépassée.

- ATTENTION : L’utilisation de l’agenda nécessite l’activation de la publication des articles post-datés.

Exemples

Deux exemples en ligne de cet agenda :

Télécharger

Version actuelle : version 2.0, sept 2003 à télécharger ici.

Adresse de publication originale :
http://support.cassiopea.org/spip/spip-tech.shtml#agenda

Pour ceux qui veulent en savoir plus :

Règles d’écriture de l’agenda :

  • La Date de publication en ligne = la date de DEBUT de l’événement (événement durant 1 ou plusieurs jours). Obligatoire.
  • La Date de publication antérieure = la date de FIN de l’événement (événement durant 1 ou plusieurs jours). Obligatoire.
  • Le Surtitre = le nom de l’organisateur.
  • Le Sous-titre = le lieu de l’événement.

Démarche pour les dates de l’agenda :

  1. Ecrire l’événement normalement
  2. Fixer la date de fin (DATE DE PUBLICATION ANTÉRIEURE)
  3. Publier l’événement en ligne
  4. Fixer la date de début (DATE DE PUBLICATION EN LIGNE)
    Note : Vous devez publier en ligne l’événement avant de pouvoir fixer sa date de publication en ligne (début), car cette dernière n’est modifiable qu’après cette action.

Les codes de cette contribution

  1. le code + la boucle à copier / coller dans la page rubrique du calendrier.
  2. le code + la boucle à copier / coller dans la page article du calendrier.
  3. le fichier agenda-sequentiel.inc à télécharger dans le répertoire racine de votre site spip (là où il y a les squelettes .php3). [1]

1) Le code + la boucle à copier / coller dans la page rubrique

2) le code + la boucle à copier / coller dans la page article

3) Le code contenu dans "agenda-sequentiel.inc"

Remarque de mise à jour :

Pour ceux qui avaient implémenté la version 1.0 et qui souhaitent passer à la version 2.0 :

Le passage de la 1.0 à la 2.0 prend 2 minutes, voici ce qu’il y a à faire :

1) Uploader le fichier "agenda-sequentiel.inc" dans le répertoire racine de votre site spip (là où il y a les squelettes .php3).

2) Dans le code des squelettes .html rubrique ET article de l’agenda, remplacer

les anciennes lignes :

par ces nouvelles :

3) Supprimer le code de la fonction "getDateAgenda(.." de votre fichier mes_fonctions.php3. (ce dernier point n’est pas obligatoire, mais inutile de charger du code devenu inutile).

Notes

[1] Remarque : Changements dans la version 2.0 par rapport à la version 1.0 : l’appel de fonction qui provoquait la Fatal error : Call to undefined function : getDateAgenda() sur certains sites a été supprimé et remplacé par un fichier inclus (agenda-sequentiel.inc) qui contient le code (qui n’est donc plus dans mes_fonctions.php3)

Retour en haut de la page

31 Messages de forum

Voir toute la discussion

1 | 2 | 3 | 4

  • Répondre à ce message

    28 février 2006 09:53 , par Robert Sebille

    Effectivement, votre question concerne le fonctionnement de spip, pas celui du calendrier. La réponse à votre question existe dans la documentation de spip http://www.spip.net/fr_article877.html sous l’intertitre " Une interface différente dans le même site". Je vous conseille cependant de lire l’entièreté de l’article.

    Attention à ceci : n’utilisez pas le code à copier/coller présent sur cette page, il y a une erreur pour le mois de février (décrite dans le message 4). Utilisez le téléchargement "Version actuelle : version 2.0, sept 2003 à télécharger ici ."

  • Répondre à ce message

    28 février 2006 04:30 , par Natna

    Bonjour, pardonnez mon ignorance, mais je ne comprends vraiment pas comment utiliser ce calendrier. J’ai du faire un impasse sur le fonctionnement général de spip, que j’arrivais néamoins à utiliser selon mes besoins auparavant. J’aimerais tout simplement installer un agenda sur une page de mon site. Ce que je ne comprends pas, c’est dans quelle pages article et rubrique je dois copier/coller ces codes... En effet, je n’ai jamais utilisé de page rubrique sur mes sites...

    Je pense donc qu’une explication plus détaillée de l’installation serait nécessaire, ne serait-ce que pour permettre au gens qui ne maitrisent pas bien le fonctionnement de spip de le comprendre un petit peu mieux...

    Merci.

  • Répondre à ce message

    18 janvier 2005 11:25 , par Robert Sebille

    Le premier echo $datep ; // donne 2005-01-31 , étant initialisé à #DATE devrait normalement donner une date au format MySql : "2001-12-01 HH:MM:SS" ou HH:MM:SS sont respectivement les heures, minutes et secondes de la date, et non 2005-01-31 qui va générer une erreur de strtotime.
    V. : http://www.spip.net/fr_article1971.html

    Pour ton site, on peut alors essayer ceci : Remplacer (dans article et rubrique)

    $datep= '#DATE';
    $dater = '#DATE_REDAC';

    par

    $datep= '#DATE 00:00:00';
    $dater = '#DATE_REDAC 00:00:00';

    Attention : 0 = le chiffre zéro (pas la lettre O) et il faut vérifier s’il faut 1 espace ou pas entre #DATE, #DATE_REDAC et 00:00:00 pour obtenir le format adéquat.

    Enfin, si tout cela ne marche pas, tu peux essayer le calendrier 3.0 que g proposé à la publication sur ce site, mais c tout récent et il est encore dans la "cuisine". La version 3.0 est l’adaption au multilinguisme de spip. Elle évitera ce problème, mais attention, elle est un peu plus complexe à configurer, emploie les fichiers locaux de langue et exige une version spip >= 1.7.

    Si tu veux essayer, tu peux la télécharger ici :
    http://support.cassiopea.org/spip/agenda3.zip

    Robert

  • Répondre à ce message

    17 janvier 2005 23:31 , par pierre maillet

    Cela ne marche pas, pour info voilà les résultats affichés :

    echo $datep ; // donne 2005-01-31 $datep = strtotime($datep) ; echo $datep ; //donne 00:00:00-1

  • Répondre à ce message

    17 janvier 2005 11:57 , par Robert Sebille

    (S’il s’agit bien de la version 2.0 :)
    strtotime essaye de lire une date au format anglais. Il est possible que ton serveur en ligne soit configuré pour produire des dates dans un autre format ; alors strtotime retourne -1, son code d’erreur.

    tu peux essayer (g bien dit essayer ;-), car ca ne fonctionnera que si la locale anglais est installée sur le serveur en ligne, de forcer ce serveur à renvoyer un format anglais, avec le code suivant dans les squelettes rubrique et article :

    <?php
    // Récupération et formatage des dates de l'événement en anglais
    setlocale(LC_TIME, "en");
    $datep= '#DATE';
    $dater = '#DATE_REDAC';
    include "agenda-sequentiel.inc";
    // annulation formatage précédent des dates
    setlocale(LC_TIME, "");
    ?>

    Robert

  • Répondre à ce message

    12 janvier 2005 23:25 , par pierre maillet

    J’ai repéré le problème au niveau de la ligne suivante :

    $datep=strtotime($datep) ; dans "agenda-sequentiel.inc"

    Avant la ligne la variable $datep est correcte,après la ligne elle prend la valeur de -1.

    Très bizarre puisque cela fonctionne très bien en local avec easyphp 1-7

  • Répondre à ce message

    20 avril 2004 12:49 , par Stéven

    Salut
    Merci pour cette contrib, ces quelques boucles sont très bien adaptées à un agenda de type "manifestations".
    Pas de problème pour la mise en place sous SPIP 1.7...

  • Répondre à ce message

    10 février 2004 01:49 , par zythum

    J’ai regardé la syntaxe de l’agenda séquentiel A la page sommaire j’ai mon lien vers la rubrique agenda id=4 Je colle le code dans la page rubrique-ag.html (différent autres rubriques) Je colle le code dans la page article-ag.html après je suis un peu pommé. Pourrais-til y avoir une explication plus détaillée.

  • Répondre à ce message

    16 janvier 2004 18:09 , par dd

    Bonjour, j’ai exactement le même probleme de date : tout s’affiche au 1 janvir 1970 l’hébergeur est aussi online et j’utilise la version 1.6

    peux-tu détailler comment tu as résolu le problème

    merci catherine

  • Répondre à ce message

    12 janvier 2004 22:11 , par Marie

    J’ai testé un autre truc en affichant #DATE et #DATE_REDAC qu’il me récupère bien mais visiblement sans éxecuter le code php d’ou le problème.

    Comment puis je résoudre ce truc immonde ? J’y arrive vraiment pas :/

1 | 2 | 3 | 4

Répondre à cet article

Retour en haut de la page

Ça discute par ici

SPIP | Squelette | | Plan du site | Suivre la vie du site RSS 2.0