Topic: [Snippet] CALx -> Calendrier/agenda évènementiel  (Read 34998 times)

Pages: [1] 2 3 ... 11   Go Down

#1: 27-May-2007, 02:58 PM

Jabberwock
Posts: 242

WWW
    Nouvelle version v0.8

    Bonjour,

    Voici un petit snippet de ma conception, sans prétention.

    Ce calendrier/agenda permet de plannifier plusieurs évènements sur une même période.

    Demo en ligne : CALx

    Quelques images

    L'interface général


    Lors du clic (ou survol suivant l'appel du snippet) sur une date, affichage avec un seul évènement planifié


    Lors du clic (ou survol suivant l'appel du snippet) sur une date, affichage avec plusieurs évènements planifiés


    Affichage de la liste des évènements planifiés (en français pour la version française)


    Change log :
    v0.8
    • Ajout de la balise <thead></thead>
    • Ajout <td><acronym title="lundi">lu</acronym></td>
    • Ajout d'un paramètre avec un nom d'id CSS, à l'utilisateur de changer si il y a plusieurs
      calendrier.
      Et par défaut : "#CALxContent".
    • Ajout des liens pour les évènements apparaissant sur des jours des mois suivants/précédents
    • Ajout du paramètre pour choisir l'affichage des liens précèdent/suivant
    • Rajout de la gestion des événements répétés uniquement si on utilise les TV.
    Note : Avec la répétition des événements, il faut bien séparer le rôle des deux dates.
    Il y a les paramètres : &dateStartTVName / &dateEndTVName qui correspondent
    dans le cas d'événements répétés aux jours ou l'événements a lieux,
    et les paramètres &TVstartDatePeriod/&TVendDatePeriod qui correspondent à la
    période de répétition.
              
    v0.7
    • modification de la gestion de la page des événements multiples.
      L'id du document qui reçoit l'appel du snippet pour l'affichage multiple
      est désormais obligatoire et doit être crée avant l'utilisation du snippet.
      Sans ce paramètre (&idMultiEvent), CALx ne s'affiche pas.
    Cette page est mis à jour en fonction des paramètre de l'appel principal de CALx.
    • correction d'un bug au passage à la nouvelle anée via un changement de mois
      ex : 12/2007 -> 01/2008
    • CALx supporte les sous répertoires.
      Le répertoire doit être publié pour que les évènements contenus apparaissent
    • ajout d'un paramètre pour choisir le mois de départ à afficher : &startMonth
    • ajout d'un paramètre pour choisir l'année de départ à afficher : &starYear
    • Les liens vers l'affichage de l'année entière et de tous les événements du mois
      ne sont plus crées.
      A la place deux placeholder sont générés :
      [+CALx_ShowFullYear_&idDocYear+]
      [+CALx_AllEventMonth_idDocMonthEvents+]
      Exemple :
      si &idDocYear=`21` le placeholder à la valeur : [+CALx_ShowFullYear_21+]
      si &dDocMonthEvents=`22` le placeholder à la valeur : [+CALx_AllEventMonth_22+]

    v0.6
    • affichage d'un lien pour voir tous les événements du mois en cours
    • CALx permet d'afficher des événements s'étalant sur plusieurs mois
    • s'il le contenu ([*content*]) de l'événement ne contient pas d'information le lien "Cliquer ici pour plus de détail" dans l'info bulle n'apparait pas.
    • ajout d'un paramètre &showOtherMonth=`string` qui permet l'affichage des jours du mois précédent, du mois suivant, les deux, ou aucun.
      Les événements qui pourrait avoir lieu sur ces journées ne sont pas repris pour ne pas alourdir le calendrier.
    • ajout du paramètre &idDocMonthEvents=`ìnt`qui indique le numéro du document qui contient l'appel de CALx avec le paramètre &getTypeProcess=`showAllMonthEvent`
    • ajout d'un paramètre &chunkCSSName qui contient le nom du chunk contenant les classes CSS (voir les indications d'installationpour plus de détail)

    v0.5
    • affiche un message d'erreur si les noms de TV indiqués ne sont pas trouvés
    • ajout d'un paramètre 'idDocFullYear' qui indique la page qui contient
      l'appel du snippet de CALx avec le paramètre 'getTypeProcess=`showFullYear`
    • correction de bugs majeurs empêchant le focntionnement correct de CALx

    V0.4
    • correction du bug de choix de template pour le multi event
    • correction de bugs pour l'affichage utf8
    • amélioration de la lisibilité du code source lors de l'affichage par le navigateur
    • possibilité de choisir entre une gestion des dates de publications ou
                   par TV.
    • ajout d'un paramètre pour indiquer le nom de la TV correspondant
                     à la date de départ de l'évènement
    • ajout d'un paramètre pour indiquer le nom de la TV correspondant
                     à la date de fin de l'évènement
    • XHTML 1.0 Transitional

    V0.3
    • ajout d'un paramètre pour le type d'info bulle :
                   0 : l'infobulle apparait sur le survol, pas de lien cliquable
                   1 : l'inobulle apparait sur un survol, mais permet de cliquer
                      sur un lien
                   2 : l'infobulle apparait sur un clic et permet de cliquer sur un lien
    • ajout d'un paramètre pour la taille de l'infobulle
    • ajout d'un paramètre pour la position de l'infobulle:
                   LEFT, RIGHT, CENTER, ABOVE, BELOW
    • ajout d'un paramètre pour changer le premier jour de la semaine
      ex : 0 pour commencer au lundi, 6 pour commencer au dimanche
    • ajout d'un paramètre pour changer le jour d'inactivité (en France
      le dimanche par ex)

    V0.2
    • fonctionne avec et sans javascript
    • modification de chemin pour fonctionner sur la 0.9.5
    • ajout de la gestion des fichiers de langue
    • ajout de flèches pour la navigation
    • ajout d'infobulle de type 'title'
    • ajout de class CSS pour styler la barre de navigation

    Pour utiliser la répétition des événements, il faut utiliser les TV pas le choix.
    Lors de l'utilisation de la répétition, les TV &dateStartTVName / &dateEndTVName n'ont plus tout à fait le même rôle.
    Ces deux TV indiquent à CALx les jours de répétitions à prendre en compte en fonction du type de répétition défini dans le TV
    &TVCalxRepeat.
    Par exemple, si je définis un événements comme ça :
    Quote
    &dateStartTVName : 01/04/2008 (mardi)
    &dateEndTVName : 06/04/2008 (dimanche)
    &TVCalxRepeat = week
    Alors l'événement sera répété du mardi au dimanche toutes les semaines quelque soit la date.

    Si je mets :
    Quote
    &dateStartTVName : 01/04/2008 (mardi)
    &dateEndTVName : 06/04/2008 (dimanche)
    &TVCalxRepeat = month
    Alors l'événement sera répété du 01/MM/2008 au 06/MM/2008, quelque soit le mois.

    Idem pour si l'événement est répété sur une année.

    Mais avec ce système l'événement est répété "ad vitam eternam", j'ai donc rajouté deux TV :
    &TVendDatePeriod / &TVstartDatePeriod
    Qui permettent, elles,  de limiter la répétition dans le temps.
    Par exemple :
    Quote
    &dateStartTVName : 01/04/2008 (mardi)
    &dateEndTVName : 06/04/2008 (dimanche)
    &TVCalxRepeat = week
    &TVendDatePeriod = 01/04/2008
    &TVstartDatePeriod = 01/06/2008
    Dans ce cas l'événement sera répété toutes les semaines pendant le mois d'avril, mai et juin.

    Voilà vous pouvez tester.

    J'ai quelques idées de modifications qui vont venir bientôt, mais je prends toutes remarques Smiley

    [/list]

    * CALx.v0.8b.zip (57.26 KB - downloaded 204 times.)
    « Last Edit: 26-Apr-2008, 04:45 AM by Jabberwock »
    Développeur de CALx, LE calendrier de MODx

    Plus d'infos/more infos :
    thread français
    thread in english

    Ce snippet vous a plus ? N'oubliez pas de voter

    Moi aussi un jour, j'aurais ce logo : Tongue

    #2: 27-May-2007, 03:25 PM

    Moderator

    davidm
    MODx evangelist
    Posts: 7,073

    The best way to predict the future is to invent it

    WWW
    OK téléchargé et je vais certainement tester cette semaine ce snippet dont le concept sur le papier me plaît bien !

    Merci Jabberwock pour cette contrib' Smiley
    .: nodeo.net : Pour un web libre, moderne et ouvert ! :: david-molliere.net : Suivez en "live" mes expérimentations et billets sur les CMS et autres applications web :.

    *** Forums modxcms.fr Participez à l'élaboration du site MODx francophone ! ***

    ! Nouveau !  En live, ne manquez pas les news de modxcms.fr sur Twitter   ! Nouveau !

    MODx est l'outil idéal pour les developpeurs et webdesigners qui cherchent un framework de gestion de contenu hautement flexible et performant, tout en étant simple d'accès pour les utilisateurs finaux.

    Config : Apache 2.2.8 - MySQL 5.0.67 - PHP 5.2.8 | Debian 4.0 (Etch)

    Réalisations sous MODx : | pargade-notaires.fr | soleil.info | gican.asso.fr | michelez-notaires.com | amadom.gerondicap.com | jocelyne-violet.net

    #3: 27-May-2007, 03:40 PM

    Coding Team
    heliotrope
    Posts: 2,535

    WWW
    Salut,

    J'ai pas testé.
    Mais dans le code de la classe CAgenda tu as inscrit des chemins en dur qui risquent d'empecher le bon fonctionnement.


    Quote
       //Lit le fichier et retroune l'id
       function readFileMultiEventsTXT(){
          if($this->fileMultiEventsTXT_exists()==true){
             $filename = 'c:\applications web\easyphp\www\modx\assets\snippets\agenda\multiEvents.txt';
             $inF = fopen($filename,"r");
             $tt =  fgets($inF, 4096);
             return $tt;
          }else{
             return -1;
          }
          return 0;
       }

    Tu devrais utiliser les variables de config de MODx pour ces opérations.
    $modx->config['base_path'] par exemple.

    :-)

    #4: 27-May-2007, 03:47 PM

    Jabberwock
    Posts: 242

    WWW
    erf bien vu l'aveugle  Lips sealed

    Quel noob je fais :/

    C'est modifié, j'ai modifié l'archive dans le premier post.

    Merci Helio pour ton oeil de lynx.
    « Last Edit: 27-May-2007, 04:03 PM by Jabberwock »
    Développeur de CALx, LE calendrier de MODx

    Plus d'infos/more infos :
    thread français
    thread in english

    Ce snippet vous a plus ? N'oubliez pas de voter

    Moi aussi un jour, j'aurais ce logo : Tongue

    #5: 29-May-2007, 12:00 PM

    Jabberwock
    Posts: 242

    WWW
    Bonsoir,

    Un petit up avec un changement de nom

    Oui j'ai mis du temps à trouver un truc intéressant.

    CALx pour CALENDRIER et x pour Modx, facile.

    Ca fait aussi penser à Calice :
    Quote
    La racine indo-européenne du mot Calice est *K°lik- = coupe, vase. On la retrouve dans le sanskrit Kalásas (coupe, pot) et Kalika (bouton de fleur), en grec ancien Kúliks (coupe), en latin calix (coupe, vase à boire).

    A l'origine, le mot calix / calice désigne donc une coupe à boire, sans anse et de n'importe quel matériau, bois, terre ou métal. Sa forme creuse, servant de réceptacle et de retenue de liquide, a servi par comparaison à désigner le calice de la fleur. (wikipédia)

    La version que j'ai uploadé, corrige deux trois bricoles.

    Quelques uns l'ont testé ?
    Développeur de CALx, LE calendrier de MODx

    Plus d'infos/more infos :
    thread français
    thread in english

    Ce snippet vous a plus ? N'oubliez pas de voter

    Moi aussi un jour, j'aurais ce logo : Tongue

    #6: 29-May-2007, 12:02 PM

    Moderator

    davidm
    MODx evangelist
    Posts: 7,073

    The best way to predict the future is to invent it

    WWW
    Pas encore (ça ne saurait tarder) mais au passage, CALx est un excellent nom Smiley
    .: nodeo.net : Pour un web libre, moderne et ouvert ! :: david-molliere.net : Suivez en "live" mes expérimentations et billets sur les CMS et autres applications web :.

    *** Forums modxcms.fr Participez à l'élaboration du site MODx francophone ! ***

    ! Nouveau !  En live, ne manquez pas les news de modxcms.fr sur Twitter   ! Nouveau !

    MODx est l'outil idéal pour les developpeurs et webdesigners qui cherchent un framework de gestion de contenu hautement flexible et performant, tout en étant simple d'accès pour les utilisateurs finaux.

    Config : Apache 2.2.8 - MySQL 5.0.67 - PHP 5.2.8 | Debian 4.0 (Etch)

    Réalisations sous MODx : | pargade-notaires.fr | soleil.info | gican.asso.fr | michelez-notaires.com | amadom.gerondicap.com | jocelyne-violet.net

    #7: 29-May-2007, 01:14 PM

    Guest
    edit: HS

    @Jabberwock : le listing des événements apparaît dans la zone Content ?
    « Last Edit: 29-May-2007, 01:32 PM by aour »

    #8: 29-May-2007, 01:33 PM

    Moderator

    aour
    Posts: 835

    Merci de lire la documentation sur l'usage des snippets, c'est un minimum sur Modx.

    #9: 29-May-2007, 02:06 PM

    Jabberwock
    Posts: 242

    WWW
    Merci de lire la documentation sur l'usage des snippets, c'est un minimum sur Modx.
    C'est pour moi ?

    Si j'ai fait quelque chose d'incorrect dans le développement du snippet, tu peux me le dire et m'indiquer des pages d'aide plus précises plz ?

    Je viens de reparcourir la section Snippet (section développer de l'aide) et je ne vois aucunes indications typographiques/syntaxiques/contraintes/à faire/à ne pas faire.

    Je me suis inspiré de Kalender qui est qd même dans la section "officiel" des snippets Modx.
    Développeur de CALx, LE calendrier de MODx

    Plus d'infos/more infos :
    thread français
    thread in english

    Ce snippet vous a plus ? N'oubliez pas de voter

    Moi aussi un jour, j'aurais ce logo : Tongue

    #10: 29-May-2007, 02:15 PM

    Moderator

    aour
    Posts: 835

    Re

    Non rassure toi Jabberwock, c'est uniquement pour la question d'akadama.

    #11: 29-May-2007, 02:54 PM

    Jabberwock
    Posts: 242

    WWW
    Re

    Non rassure toi Jabberwock, c'est uniquement pour la question d'akadama.



    Comme il a édité, j'ai pas vu ce qu'il a mis.
    Et je rapprochais ça de l'autre post sur la publication des pages, et j'ai peut être utilisé des techniques qui ne se font pas.
    Développeur de CALx, LE calendrier de MODx

    Plus d'infos/more infos :
    thread français
    thread in english

    Ce snippet vous a plus ? N'oubliez pas de voter

    Moi aussi un jour, j'aurais ce logo : Tongue

    #12: 4-Jun-2007, 01:04 AM

    Jabberwock
    Posts: 242

    WWW
    Bonjour, bonjour,

    Voici une nouvelle version de CALx.

    Les changelogs sont indiqués dans le premier post.

    Les TV arriveront dans la prochaine version c'est promis, et j'ai encore quelques idées d'amélioration ^^

    PS : J'ai modifié le fichier à dl, et j'ai mis à jour les screenshots.
    « Last Edit: 4-Jun-2007, 05:52 AM by Jabberwock »
    Développeur de CALx, LE calendrier de MODx

    Plus d'infos/more infos :
    thread français
    thread in english

    Ce snippet vous a plus ? N'oubliez pas de voter

    Moi aussi un jour, j'aurais ce logo : Tongue

    #13: 5-Jun-2007, 02:34 AM

    looloo06
    Posts: 23

    Bonjour,

    Partant sur l'idee de GoogleEvents, qui ne fonctionne pas comme je le souhaite, je me suis lance dans la reprogrammation d'un snippet capable de recuperer les evenements d'un agenda google au format XML (car le format ical est certainement + facile a gerer mais ne permet pas l'interaction avec le calendrier google du visiteur), et ce sur les calendriers en francais (introuvable jusqu'alors).
    Pour le moment j'affiche les resultats tries uniquement sous forme de liste (ou agenda), mais je souhaite aussi les afficher sur un calendrier. Ai-je l'autorisation de partir sur la base de CalX pour tenter de fournir a CalX les evenements provenant d'un calendrier Google ?
    Ainsi, j'obtiendrais exactement ce que je recherche !

    Merci de me donner (si possible) votre accord. Les resultats seront alors postes ici !

    Louis

    #14: 5-Jun-2007, 04:03 AM

    Testers

    laurentc
    Posts: 589

    WWW
    Bonjour Jabberwock

    Je viens de tester ton snippet  Wink

    Première remarque, il faudrait être plus explicite sur l'ajout des évènements... j'ai mis quelques minutes à comprendre qu'il fallait mettre aussi une date de fin de publication pour que cela marche correctement.

    Comme mentionné sur le file anglophone un support à base de TV des dates de début et date de fin rendra le tout beaucoup plus ergonomique et je pense que la conversion est assez simple.

    Lors de la créations de la page pour le multievent, j'ai des petits soucis d'affichages pour le pagetitle,  le longtitle et le descriptif, les charactères UTF8 apparaissent, seul l'introtext est inséré correctement.

    Problème plus gênant, lors de la création de la page de multievent tu lui associes le template 7... sur mon install de test, le template 7 correspond à une fiche de catalogue à la quelle j'ai associée plusieurs TV.... ça ma fait dôle  Cheesy.
    Je pense qu'il faudrait lui attribuer le template par défaut mis dans la rub comf de MODx

    Dernier problème, chez moi l'info bulle ne se position  jamais à côté de la date ni sous FF ni sous IE7 (cf images)

    Pour finir je pense que ce snippet va bientôt faire des heureux  Grin


    * CALx.gif (25.47 KB, 795x476 - viewed 384 times.)

    * CALx2.gif (18.04 KB, 647x413 - viewed 389 times.)

    #15: 5-Jun-2007, 09:09 AM


    charliez
    Posts: 556

    WWW
    @looloo6
    tu peut voir http://www.modxcms.com/forums/index.php?topic=11681 pour Google Events...
    Website: www.mercologia.com 
    Blog (in Español): Digital Stickiness www.mercologia.com/blog

    #16: 5-Jun-2007, 09:12 AM

    Jabberwock
    Posts: 242

    WWW
    Quote
    Je viens de tester ton snippet 
    Merci beaucoup  Smiley

    Quote
    Première remarque, il faudrait être plus explicite sur l'ajout des évènements... j'ai mis quelques minutes à comprendre qu'il fallait mettre aussi une date de fin de publication pour que cela marche correctement.

    Comme mentionné sur le file anglophone un support à base de TV des dates de début et date de fin rendra le tout beaucoup plus ergonomique et je pense que la conversion est assez simple.
    Oui j'y travail, j'y travail  Smiley
    Pensez-vous qu'il soit intéressant de prendre en compte un évènement qui ne se termine pas ?

    Quote
    Lors de la créations de la page pour le multievent, j'ai des petits soucis d'affichages pour le pagetitle,  le longtitle et le descriptif, les charactères UTF8 apparaissent, seul l'introtext est inséré correctement.
    Ok je vais checker ça, merci : corrigé

    Quote
    Problème plus gênant, lors de la création de la page de multievent tu lui associes le template 7... sur mon install de test, le template 7 correspond à une fiche de catalogue à la quelle j'ai associée plusieurs TV.... ça ma fait dôle  .
    Je pense qu'il faudrait lui attribuer le template par défaut mis dans la rub comf de MODx
    Alors ça je n'y avais pas penser, mais alors pas du tout.
    Pas de problème, je vais changer ça vite fait : corrigé

    Quote
    Dernier problème, chez moi l'info bulle ne se position  jamais à côté de la date ni sous FF ni sous IE7 (cf images)
    Alors ça c'est bizarre, chez moi sous FF ou IE, l'info bulle est bien placé :/
    Je vais chercher d'où cela peut provenir.


    Quote
    Pour finir je pense que ce snippet va bientôt faire des heureux
    Rien ne me ferais plus plaisir, surtout que j'ai plein d'idées : affichage d'une année, d'une semaine, de tous les évènements, de rappel d'évènement etc...

    En tout cas merci pour tous ces tests, sur une seule config on voit pas ce genre de bugs.

    PS : j'ai corrigé un autre bug en passant ^^, j'utilisais le base_dir, mais sous linux ca ne fonctionne pas, j'ai du changer en base_path (je crois).
    PS2 : merci pour les captures je viens de remarquer que la transparences des flèches n'est pas bonne.

    « Last Edit: 5-Jun-2007, 01:43 PM by Jabberwock »
    Développeur de CALx, LE calendrier de MODx

    Plus d'infos/more infos :
    thread français
    thread in english

    Ce snippet vous a plus ? N'oubliez pas de voter

    Moi aussi un jour, j'aurais ce logo : Tongue

    #17: 7-Jun-2007, 07:28 AM

    endif
    Posts: 23

    Quote
    Dernier problème, chez moi l'info bulle ne se position  jamais à côté de la date ni sous FF ni sous IE7 (cf images)
    Quote
    Quote
    Alors ça c'est bizarre, chez moi sous FF ou IE, l'info bulle est bien placé :/
    Je vais chercher d'où cela peut provenir.

    J'ai trouvé le problème de la position de l'info bulle:
    La position de l'info bulle se calcule du top et left de la page (p.e. left: 403px; top: 269px;)
    Le DIV «overDiv» est positionnée absolutement (position: absolute). Si «overDiv» se trouve dans un autre DIV (p.e «myContainer»), qui est positionée rélative ou absolute, dans la page, les coordinates sont:
    left: 403px du «myContainer» et ne pas 403px de la page.

    Si «overDiv» se trouve dans le <body>-tag, sa fonctionne.

    J'ai pas trouvé une solution dans les javascripts de overLib. Peut-être vous trouvéz quelque-chose.

    Excusée mon francais. Si c'est pas claire, je peut éxpliquer en anglais.

    Sascha

    #18: 7-Jun-2007, 09:19 AM

    Jabberwock
    Posts: 242

    WWW
    Merci endif pour ces investigations.

    J'ai pas encore regardé, de tt façon je vais trouver une solution avant la prochaine version.

    Une bonne nouvelle, j'ai mis en place les TV's mais je laisserais le choix d'utilisation entre les date de publication ou les TV, moi perso je préfère les date de publication Smiley
    Développeur de CALx, LE calendrier de MODx

    Plus d'infos/more infos :
    thread français
    thread in english

    Ce snippet vous a plus ? N'oubliez pas de voter

    Moi aussi un jour, j'aurais ce logo : Tongue

    #19: 7-Jun-2007, 11:03 AM

    endif
    Posts: 23

    Quote
    Merci endif pour ces investigations.

    J'ai pas encore regardé, de tt façon je vais trouver une solution avant la prochaine version.

    J'ai trouvé une solution!

    Si tu supprime la ligne 280 dans CALx.class.php:
    Code:
    $this->CALx.='<div id="overDiv" style="position:absolute; visibility:hidden; z-index:1000;"></div>';

    …overLib va placer le DIV «overDiv» jusqu'au fin de la page avant le </body>-tag.

    Comme ca, tout est foncionner sur mon page.

    De la documentation de overLib:
    Quote
    Then place the following line inside the <body></body> section of your page--preferably immediately after the body section starts, i.e., just after the <body> tag (this is important!):

      <div id="overDiv" style="position:absolute; visibility:hidden; z-index:1000;"></div>

    […]

    [Note: with version 4.10, it is not really necessary to include the overDiv declaration statement since if it isn't present it will be dynamically created for you. However, it is a good idea to include it so that you are aware that it is needed.]

    #20: 7-Jun-2007, 05:09 PM

    Jabberwock
    Posts: 242

    WWW
    ok nickel, merci msieur.
    En plus ça marche carrément mieux  Grin

    Mais maintenant j'aimerais faire une infobulle plus commes les "title" qu'on voit dans le manager.

    Je sais je suis chiant :p
    Développeur de CALx, LE calendrier de MODx

    Plus d'infos/more infos :
    thread français
    thread in english

    Ce snippet vous a plus ? N'oubliez pas de voter

    Moi aussi un jour, j'aurais ce logo : Tongue
    Pages: [1] 2 3 ... 11   Go Up
    0 Members and 1 Guest are viewing this topic.