Calendrier Mini 2.0

Ce plugin ajoute la balise #CALENDRIER_MINI qui insère un petit widget de navigation par mois dans les dates des évènements.

Fonctionnement du mini calendrier

Le mini calendrier présente un mois à la fois. Les jours du mois comportant des évènements sont surlignés. Un clic sur l’un de ces jours permet de naviguer vers une page qui présentera les évènements de ce jour.

Le mini calendrier comporte deux liens de navigation pour passer au mois précédent ou au mois suivant, ainsi que deux champs de sélection pour aller directement à n’importe quel autre mois ou année.

La navigation d’un mois à un autre se fait immédiatement, sans rechargement de la page. La liste des évènements pour le mois en cours est rechargée en tâche de fond et mise à jour sur le mini calendrier (chargement asynchrone au format JSON).

Les évènements affichés par le mini calendrier peuvent être de n’importe quelle nature (publication des articles du site, commentaires, objets évènements du plugin agenda).

A partir de la version 2.3.0, la liste des événements d’une journée est affichée au survol (tooltip).

Accessibilité et alternative
Le mini calendrier insère également une alternative qui permet aux utilisateurs sans javascript ainsi qu’aux robots d’indexation de disposer des liens vers chaque jour (pour peu qu’il contienne un évènement) du mois en cours ainsi que vers le mois précédent ou le mois suivant.

Insertion du mini calendrier

Le mini-calendrier est inséré simplement dans vos squelettes au moyen de la balise #CALENDRIER_MINI

Cette version 2.0 du plugin reprend la syntaxe des versions précédentes du plugin « Calendrier mini » : #CALENDRIER_MINI{url, url_json}

  • url désigne l’URL de la page sur laquelle envoyer le visiteur lorsqu’il clique sur un jour (#SELF par défaut)
  • url_json désigne l’URL appelée pour charger la liste en JSON des évènements entre deux dates (#URL_PAGE{calendrier_mini.json} par défaut).

Dans cette syntaxe courte, la variable date utilisée est nommée archives et la date courante est automatiquement capturée d’après #ENV{archives}.
Un exemple d’utilisation est :

#CALENDRIER_MINI{#SELF, #URL_PAGE{mes_evenements.json}}

Le plugin supporte également la syntaxe longue utilisée dans le plugin « Agenda » :
#CALENDRIER_MINI{date, var_date, url, url_json}

  • date est la valeur courante de la date ; le mini calendrier se positionnera sur le mois correspondant ;
  • var_date est le nom de la variable date qui sera passée en argument à la page appelée quand le visiteur clique sur un jour ;
  • url désigne l’URL de la page sur laquelle envoyer le visiteur lorsqu’il clique sur un jour (#SELF par défaut) ;
  • url_json désigne l’URL appelée pour charger la liste en JSON des évènements entre deux dates (#URL_PAGE{calendrier_mini.json} par défaut).

Un exemple d’utilisation de cette syntaxe est :

#CALENDRIER_MINI{#ENV{date}, date, #SELF, #URL_PAGE{evenements_mini.json}}

Exemple : afficher les évènements créés dans le plugin « Agenda »

[(#CALENDRIER_MINI{#ENV{date},
  date, 
  #URL_PAGE{jour},
  #URL_PAGE{calendrier_mini_event.json}})]

Dans cet exemple :

  • on utilise le squelette « calendrier_mini_event.json.html » fourni par le plugin « Agenda » pour récupérer les évènements créés dans l’agenda ;
  • la page d’affichage des évènements lorsque l’on clique sur une date (avec au moins un évènement !) utilise le squelette « jour.html », lui aussi fourni dans le plugin « Agenda » ;
  • le squelette « jour.html » utilisant le paramètre d’environnement date pour boucler dans les évènements, on prend soin de passer date en 2e paramètre de la balise.

Liste des évènements

Les évènements affichés dans le mini-calendrier sont fournis au format JSON par un squelette qui est appelé à chaque changement de mois du mini calendrier.

Par défaut c’est calendrier_mini.json.html qui génère la liste des articles publiés entre start et end fournis tous deux au format « timestamp » (nombre de secondes depuis 1970) dans l’URL.

Pour modifier la liste des évènements affichés dans le mini calendrier, il suffit de modifier le squelette calendrier_mini.json.html (ou de le copier sous un autre nom en passant ensuite la valeur correspondante pour l’argument url_json).

Le title de chaque événement envoyé par le squelette sert à afficher le tooltip au survol de chaque date. Vous pouvez le personnaliser en le préfixant de l’heure de début par exemple, quand cela est pertinent.

Collecte automatique de id_article, id_rubrique et id_mot

Quand elle est utilisée avec la syntaxe sans l’url de la page JSON, la balise #CALENDRIER_MINI collecte automatiquement (comme elle le faisait auparavant) les #ID_ARTICLE, #ID_RUBRIQUE et #ID_MOT du contexte où elle est appelée. Les valeurs de id_article, id_rubrique et id_mot sont alors passées à l’url de la page JSON par défaut.

Dès que vous précisez en dernier argument de #CALENDRIER_MINI l’url de la page JSON qui fournit les événements, il vous appartient d’y préciser les id_article, id_rubrique ou id_mot que vous souhaitez prendre en compte, car ceux-ci ne sont plus transmis automatiquement.
Ce fonctionnement vous permet ainsi de désactiver la transmission automatique au besoin.

Personnalisation de l’apparence

L’apparence du mini-calendrier est prise en charge par la feuille de style css/minical.css. La feuille de style est minimale afin que le mini-calendrier hérite au maximum de l’apparence de votre site. Cette feuille de style peut être personnalisée dans votre dossier squelettes/.
Voici un autre exemple d’insertion du mini-calendrier sans modification de la feuille de style :

Pour des raisons de performance, la feuille de style est insérée inline dans le HTML de la page qui contient le mini calendrier. Si elle référence des images, celles-ci doivent donc être référencées avec leur URL absolue.

Les boutons pour passer vers les mois précédents ou suivants utilisent l’image css/img/month_prev_next-32x16.png qui peut être personalisée dans votre dossier squelettes/.

Le pied du mini-calendrier qui contient le bouton aujourd’hui peut-être masqué simplement en CSS.

En dernier recours, si c’est vraiment nécessaire pour la personnalisation, vous pouvez aussi modifier le squelette formulaires/calendrier_mini.html. Toutefois ceci est déconseillé car hypothèque la compatibilité de votre squelette avec les évolutions futures du plugin.

Discussion

113 discussions

  • Bonjour,
    je tente en vain d’installer ce plugin.
    ma plateforme actuelle avant portage sur une de production :
    -  Wamp dernière version
    -  Spip dernière version en vigueur 3.017
    -  Pas d’autre plugin installé sauf les natifs à Spip

    lorsque j’installe le plugin via le gestionnaire de plugin ou en l’installant « à la main » (en téléchargeant le .zip, j’obtiens une page blanche sur l’ensemble du site (espace public et privé).
    J’ai tenté de récupérer la version 2.3.4 mais je récupère la 2.3.6
    Bref, une idée pour m’éclairer ?

    Par avance, merci
    Edouard

    Répondre à ce message

  • 14

    J’ai installées les version du plugin Agenda 3.11.8 et Calendrier Mini 2.3.4 sur mon site, qui roule sur SPIP 3.0.8.

    Sur le site public le calendrier se montre mais la page se charge avec beaucoup de lenteur (1 min environ) :
    http://www.maristas.es/spip/spip.php?article347

    Des que je suis loguée je reçois le message d’erreur suivant :
    //www.maristas.es/spip/spip.php?page=calendrier mini event.json&lang=es&start=1364767200&end=1367359200, json] 404

    On a un peu tout essayé (on a fourni un squelette jour.html, on a désactivé le caché, le réactivé, effacé l’archive .htaccess, le retourné...), mais rien ne change. La vitesse a charger la page est seulement normale quand on vient d’effacer le cache, mais la deuxieme fois qu’on la charge après, lenteur a nouveau.

    S’il vous plaît une mot d’aide... :-(

    • Après avoir patinéer quelques heures sur une site avec le même message, je me suis rendu compte que c’était le plugin entravaux qui me créait le problème.

      Une fois désactivé tout rentre dans l’ordre.

      Voila si ça peut servir à certains.

    • Salut,

      je confirme : une fois le plugin En travaux désactivé, ça fonctionne...
      Merci Mist. GraphX pour l’info.

      Peut être que ça pourrait être rajouté dans le doc ?

      jean marie

    • Salut !

      Je remonte le sujet, car je ne pense pas que ça soit dans la doc qu’il faut l’indiquer. Idéalement, il faudrait corriger cette incompatibilité.

      Pour ma part, cette erreur apparait avec le mini calendrier 2.3.4 et le plugin en_travaux 3.1.15 sur un spip 3.0.11.

      À suivre …

    • J’ai le même souci sur une 3.0.11. je n’utilise pourtant pas le plugin en travaux.

    • Bonjour,

      Je constate aussi le même problème alors que le plugin « En travaux » n’est pas installé.

      Le souci se pose lorsque l’usager est identifié, sinon tout fonctionne correctement.

      Une idée ?

    • Bonjour,

      Je suis sur SPIP 3.0.16, j’utilise également le plugin En travaux.
      Je constate effectivement ce message d’erreur, mais le comportement diffère entre mon serveur linux et le développement sur windows/WAMP.

      Sur le serveur de développement (WAMP), je n’ai pas à désactiver le plugin En travaux pour ne plus avoir ce message d’erreur : il suffit de décocher la case de mise en maintenance et de recalculer la page ou vider le cache. Cette situation me semble normale, et il n’est pas choquant d’avoir une erreur sur un appel ajax lorsque le site est en maintenance, les utilisateurs non connectés n’ayant qu’un affichage statique sans ces erreurs.
      Sur le serveur linux, cela n’a aucun effet, ni même de désactiver ce plugin, ni de purger manuellement la totalité du dossier /tmp/cache ; par contre, si je supprime le fichier php présent dans /tmp/sessions, tout rentre dans l’ordre. C’est un peu radical mais ça fonctionne. Peut-être s’agit-il de variables de session qui ne sont pas correctement modifiées lors de la désactivation du mode maintenance ? Peut-être aussi une histoire de droits sur les fichiers ?

      J’espère que ces infos pourront aider à résoudre ce bug gênant.

    • Pierrot

      Bonjour,

      Je dois malheureusement confirmer ce qui est dit.

      Pour ma part je n’utilise pas le plugin En travaux mais mon mini calendrier est dans une rubrique protégée par Accès restreint et je constate tous les pbms ci-dessus. Et effectivement je n’ai pas le pbm sur mon MAMP sur un serveur local ici.

      Je pense donc que ce n’est pas lié à En travaux mais plutôt au fait que l’on soit dans une zone pour laquelle il faut être identifié, en ce sens En travaux est similaire à Accès restreint.

      Sauf que En travaux n’est pas appelé à durer sur un site alors que Accès restreint est là pour toujours, donc je suis encore plus dans la mouise que mes collègues ci-dessus ...

      La seule chose que je comprends pas est la différence de comportement entre mon serveur local et mon serveur Linux distant.
      J’ajoute aussi comme info que ça marchait en Spip2 avec le mini calendrier précédent, je suis en train de migrer un site comme ça en 3.0.16 et c’est le dernier (d’une longue liste) de pbms que je suis en train de traiter à cette heure tardive :-(

      En 3.0.16, Accès restreint 3.8.11, Agenda 3.13.1, Mini-calendrier 2.3.5
      A noter aussi que malgré l’erreur, tout semble fonctionner correctement, j’ai des sélections complexes par mots-clés sur le minicalendrier, elles marchent, on dirait que c’est juste une erreur « pour l’erreur » ... :-)

    • Pierrot

      Bonjour,

      Je dois malheureusement confirmer ce qui est dit.

      Pour ma part je n’utilise pas le plugin En travaux mais mon mini calendrier est dans une rubrique protégée par Accès restreint et je constate tous les pbms ci-dessus. Et effectivement je n’ai pas le pbm sur mon MAMP sur un serveur local ici.

      Je pense donc que ce n’est pas lié à En travaux mais plutôt au fait que l’on soit dans une zone pour laquelle il faut être identifié, en ce sens En travaux est similaire à Accès restreint.

      Sauf que En travaux n’est pas appelé à durer sur un site alors que Accès restreint est là pour toujours, donc je suis encore plus dans la mouise que mes collègues ci-dessus ...

      La seule chose que je comprends pas est la différence de comportement entre mon serveur local et mon serveur Linux distant.
      J’ajoute aussi comme info que ça marchait en Spip2 avec le mini calendrier précédent, je suis en train de migrer un site comme ça en 3.0.16 et c’est le dernier (d’une longue liste) de pbms que je suis en train de traiter à cette heure tardive :-(

      En 3.0.16, Accès restreint 3.8.11, Agenda 3.13.1, Mini-calendrier 2.3.5
      A noter aussi que malgré l’erreur, tout semble fonctionner correctement, j’ai des sélections complexes par mots-clés sur le minicalendrier, elles marchent, on dirait que c’est juste une erreur « pour l’erreur » ... :-)

      Solution temporaire : display none sur #debug-nav :-)

    • Pierrot

      oops et encore j’ai de la chance, j’ai fait 3 ou 4 essais, ça restait bloqué en prévisu ... désolé.

    • Pour celleux qui ont le souci avec « en travaux », il est possible de corriger en mettant
      define('_SKEL_HORS_TRAVAUX','calendrier_mini_event.json');
      dans le mes_options.php du site. Bon du coup, le skel n’est plus protégé hein !

      Pour celleux qui ont le souci avec Accès restreint, je ne vois pas.

      En fait formulaires/calendrier_mini.html prévoit de fournir les données d’agenda dans le squelette pour le cas des bots et visteurs sans js. Le problème c’est que ’intégration des données utilise pour l’instant une boucle DATA qui fait un appel depuis le serveur vers le fichier calendrier_mini_event.json.html avant de boucler dessus. Hors avec ces deux plugins, ce fichier n’est pas accessible au serveur vu qu’il n’est pas un auteur connecté ayant les droits. Un peu zarbi j’en conviens, mais on va regarder s’il n’y a pas moyen de coder ça autrement...

    • Merci pour l’info.

      Est-il possible de modifier la boucle manuellement en attendant une solution « propre » ?

    • La correction est faite : http://zone.spip.org/trac/spip-zone.... Elle sera dispo via SVP sur vos SPIP dès que le paquet aura été recréé (quelques heures au plus).

    • Merci beaucoup, ca marche très bien !

    • Hello,

      j’ai la nouvelle version, mais cela semble toujours buggé avec en_travaux (sans en_travaux je n’ai pas ce soucis)

    Répondre à ce message

  • Bonjour.
    Avec SPIP 3.0.16
    Agenda 3.14.2 et Calendriermini v2.3.5
    Tout fonctionne :
    -  l’affichage d’une bulle quand on survole avec la souris le jour d’un événement sur le calendrier
    -  La notification d’un événement d’un ou plusieurs événements dans l’agenda.
    SAUF QUE : Je tourne en rond dans l’affichage d’un article qui ne s’affiche pas quand on clique sur un jour du calendrier qui contient un événement. Voir le site : http://emploi.spf75.org
    Au survol d’un jour contenant un événement on obtient par exemple : [http://emploi.spf75.org/]&date=2014-05-16->http://emploi.spf75.org/]&date=2014-05-16] ce qui renvoie à la page d’accueil.

    Si je supprime les crochets [spip.php ?page=jour]et lance http://emploi.spf75.org/spip.php?page=jour&date=2014-05-16 cela me renvoie bien vers mes événements grâce à la page jour.html
    Comment supprimer ces #§ !? de crochets ?

    Si quelqu’un voulait bien se pencher sur ce problème, ce serait sympa.
    Cordialement
    Piero

    Répondre à ce message

  • 2

    Bonjour,

    Merci pour ce plugin.

    Tout va bien, sauf le bouton « Aujourd’hui » qui est sans effet même s’il y a des évènements à la date en cours. J’ai dû le désactiver.
    SPIP : 3.0.13
    Agenda : 3.12.1
    Bonux : 3.0.5
    Firefox 26.0, GNU/Linux

    Le code utilisé :

    Affichage du calendrier :

      [(#CALENDRIER_MINI{#ENV{date},
        date,
        #URL_PAGE{agenda_jour},
        #URL_PAGE{calendrier_mini_event.json}})]

    La page agenda_jour (juste la boucle) :

    <BOUCLE_evenements(EVENEMENTS) {agenda date_debut, mois, (#ENV{date}|annee), (#ENV{date}|mois)}{jour_relatif=0}{statut=publie}><!-- {agenda date_debut, mois, (#ENV{date}|annee), (#ENV{date}|mois)} -->
     <li> [(#LOGO_ARTICLE_RUBRIQUE|#URL_ARTICLE)]
     <strong><a href="#URL_ARTICLE" class="titre">#TITRE</a></strong><br>
              <em> [(#DATE_DEBUT|nom_jour)] [(#DATE_DEBUT|jour)]
                  [(#DATE_DEBUT|affdate_mois_annee)]
          <!-- &agrave; [(#DATE_DEBUT|heures)]h[(#DATE_DEBUT|minutes)] -->
          </em><br> #LIEU<br>
          [
          <div class="#EDIT{intro} texte">(#DESCRIPTIF)</div>
          ]<br>
    </BOUCLE_evenements>

    Merci de votre aide.

    • Laëtitia

      Bonjour,

      dis-moi Zach’, comment as tu désactivé le bouton « aujourd’hui », j’aimerai le faire disparaitre.

      Merci.

    • ajoute dans ta feuille de css de ton squelette

      #calendar h2 {display:none;}

    Répondre à ce message

  • Bonjour à tous !

    Hâte de pouvoir proposer via ce plug-in une navigation horizontale dans une de nos rubriques dédiés événements =). Il sera placer au niveau du descriptif de cette dernière.

    Cependant, pour le moment, je tente de le faire apparaitre dans le sommaire (avant de faire un squelette spéciale pour la rubrique).

    Donc j’ai bien, intégré dans /squelettes/sommaire.html :

    [(#CALENDRIER_MINI{#ENV{date},date,#URL_PAGE{jour},#URL_PAGE{calendrier_mini_event.json}})]

    ...et également créer le fichier /squelettes/jour.html en y mettant ce code :

    <BOUCLE_event_list(EVENEMENTS) {!evenement_passe #ENV{date}|agenda_jourdecal{-1}}{!evenement_a_venir #ENV{date}|agenda_jourdecal{1}}{par date_fin}>
    <!-- {agenda date_debut, mois, (#ENV{date}|annee), (#ENV{date}|mois)} -->
    [(#LOGO_ARTICLE_RUBRIQUE|#URL_ARTICLE)]
    <a href="#URL_ARTICLE" class="titre">#TITRE</a><br>
    <em> [(#DATE_DEBUT|nom_jour)] [(#DATE_DEBUT|jour)]
    [(#DATE_DEBUT|affdate_mois_annee)]
    <!-- &agrave; [(#DATE_DEBUT|heures)]h[(#DATE_DEBUT|minutes)] -->
    </em><br> #LIEU<br>
    [
    <div class="#EDIT{intro} texte">(#DESCRIPTIF)</div>
    ]<br>
    </BOUCLE_event_list>

    Au recalcule de la page, le calendrier ne s’affiche pas, et j’ai un message d’erreur de spip :

    1 Filtre Agenda_memo_full non défini | squelettes/formulaires/calendrier_mini.html boucle : _calendrier_rubrique

    2 Filtre agenda_mini non défini | squelettes/formulaires/calendrier_mini.html boucle : _rubrique

    Je n’arrive pas a comprendre ou je me loupe :/


    SPIP 3.0.13
    Sarka-SPIP 3.3.36
    Agenda 3.12.1
    Mini Calendrier 2.3.5

    Répondre à ce message

  • Bonjour,
    Je suis sous spip 3 (plugin Magusine) et j’utilise calendrier mini qui fonctionne plutôt bien.
    Sauf que...quand on encore des évènements pour deux jours qui se suivent, les évènements sont décalés. Le 1er jour de la série, l bon évènement apparait quand on clique sur la date, à partir du 2e les évènement ne correspondent plus aux dates ... c’est assez embêtant ...
    C’est ici que ça se passe : http://www.zakiakhattabi.be

    Qqn aurait une idée d’où ca peut venir ?? parce que perso je sèche ... :-/

    Merci d’avance du coup de main !

    Fabou001

    Répondre à ce message

  • 8

    Bonjour,

    Merci pour ce plugin bien utile notamment pour des associations qui ont besoin de communiquer facilement sur les évènements qu’elles organisent.

    Néanmoins, je rencontre un problème évoqué sur ce forum mais que je n’arrive pas à régler.

    Comme d’autres, j’ai inséré dans « article.html » le code :

    [(#CALENDRIER_MINI{#ENV{date},
         date,
         #URL_PAGE{jour},
         #URL_PAGE{calendrier_mini_event.json}})]

    et lorsque je clique sur un évènement, je tombe sur une erreur 404. J’ai essayé quelques autres alternatives (copie de « jour.html » et « evenement.html » dans mes squelettes, entre autres), rien ne se passe comme prévu.

    C’est comme si le plugin n’était pas reconnu, ou trouvé.

    C’est là que ça coince : http://www.fdmjc95.org/spip.php?article1

    Le site est en développement, donc le graphisme est ... hum ...

    Merci de bien vouloir me tendre la main, je suis bien ennuyé par ce problème.

    Vanso

    SPIP version 3.0.5 [19905] , pas de thème, pas de Zpip, rien que du SPIP basique

    Agenda 3.11.3
    Mini Calendrier 2.3.4
    CFG 3.0.0
    Facteur 2.3.1
    Saisies 1.28.4
    SPIP Bonux 3.0.4

    PHP et MySQL à jour

    • Je pense que la solution se trouve sur le forum dans la réponse de cédric du 4 juin 2012 à 12:18.

      En faite, je pense que c’est la doc qui ne l’explique pas assez :

      la page d’affichage des évènements lorsque l’on clique sur une date (avec au moins un évènement !) utilise le squelette « jour.html », lui aussi fourni dans le plugin « Agenda » ;

      [(#CALENDRIER_MINI#ENVdate,
      date,
      #URL_PAGEjour,
      #URL_PAGEcalendrier_mini_event.json
      )]

      Ne fonctionne pas, car après insertion du code, dans le squelette de la dist, spip m’a indiqué : « erreur 404 », mais aussi comme quoi « Aucun squelette jour.html n’est disponible.. »

      Donc soit la doc est « trompeuse », soit il y a un bug
      Essayer de voir sont exemple dans sont explication :)

    • Dans ton fichier « jour », tu peux mettre par exemple ce que j’ai dans mon fichier :
      C’est pas géniale, mais cela fonctionne y compris quand il y a deux événements le même jour !

      C’est le code que j’avais utilisé en spip 2.1 et le squelette multiflex.
      Maintenant, si tu trouves un moyen pour que cela soit un peu mieux comme présentation (liste des événements dans une rubrique « fantome » par exemple ou lorsqu’il n’y a qu’un article, l’on tombe directement dessus, je veux bien des info)

      <BOUCLE_event_list(EVENEMENTS) {!evenement_passe #ENV{date}|agenda_jourdecal{-1}}{!evenement_a_venir #ENV{date}|agenda_jourdecal{1}}{par date_fin}>
      <!-- {agenda date_debut, mois, (#ENV{date}|annee), (#ENV{date}|mois)} -->
      [(#LOGO_ARTICLE_RUBRIQUE|#URL_ARTICLE)]
      <a href="#URL_ARTICLE" class="titre">#TITRE</a><br>
      <em> [(#DATE_DEBUT|nom_jour)] [(#DATE_DEBUT|jour)]
      [(#DATE_DEBUT|affdate_mois_annee)]
      <!-- &agrave; [(#DATE_DEBUT|heures)]h[(#DATE_DEBUT|minutes)] -->
      </em><br> #LIEU<br>
      [
      <div class="#EDIT{intro} texte">(#DESCRIPTIF)</div>
      ]<br>
      </BOUCLE_event_list>
    • Merci pour ton aide, je vais tester.

    • Bonsoir,

      J’avance doucement mais j’avoue me perdre dans les fichiers et les boucles.

      Voila ce que j’ai fait :

      [(#CALENDRIER_MINI{#ENV{date},
           date,
           #URL_PAGE{jour},
           #URL_PAGE{calendrier_mini_event.json}})]

      dans article.html, puis jour.html et calendrier_mini_event.json.html placés dans mon dossier squelettes.

      L’affichage du calendrier est correct (pas d’erreur 404 ni rien) mais le calendrier est inerte, apparemment ça boucle sur l’article en cours. Donc, j’ai bien sûr loupé quelque chose.

      Pour préciser : j’ai essayé ta boucle, dans jour.html, j’ai aussi lu le message de cédric du 4 juin 2012 et essayé diverses insertions dans mes fichiers, rien n’y fait.

      Autrement dit, je suis paumé...

      Merci pour toute aide, je souhaite mourir moins idiot.

    • Bonjour
      Je crois qu’il faut que tu commences par lire :
      http://www.spip.net/fr_article4453.html
      et
      http://www.spip.net/fr_article3347.html

      Parce que, cela ne me semble logique de mettre du code dans article.html
      Cette page contient se qui sera afficher quand les gens liront un article. cela dit, je connais très mal la dist, donc possible que je me plante aussi :-D

      Bref, tu devrais mettre le code

      [(#CALENDRIER_MINI{#ENV{date},
      date,
      #URL_PAGE{jour},
      #URL_PAGE{calendrier_mini_event.json}})]

      Dans, par exemple la page sommaire.html que tu enregistres dans le dossier squelettes que tu as créer à la racine de t’on site. (c’est moche, mais ça marche et c’est juste pour l’exemple)

      Ensuite dans un fichier que tu nommes jour.html, tu mets le code que je t’ai donner :

      <BOUCLE_event_list(EVENEMENTS) {!evenement_passe #ENV{date}|agenda_jourdecal{-1}}{!evenement_a_venir #ENV{date}|agenda_jourdecal{1}}{par date_fin}>
      <!-- {agenda date_debut, mois, (#ENV{date}|annee), (#ENV{date}|mois)} -->
      [(#LOGO_ARTICLE_RUBRIQUE|#URL_ARTICLE)]
      <a href="#URL_ARTICLE" class="titre">#TITRE</a><br>
      <em> [(#DATE_DEBUT|nom_jour)] [(#DATE_DEBUT|jour)]
      [(#DATE_DEBUT|affdate_mois_annee)]
      <!-- &agrave; [(#DATE_DEBUT|heures)]h[(#DATE_DEBUT|minutes)] -->
      </em><br> #LIEU<br>
      [
      <div class="#EDIT{intro} texte">(#DESCRIPTIF)</div>
      ]<br>
      </BOUCLE_event_list>

      Tu l’enregistres dans le dossier « squelettes » que tu as fait également !
      Tu vides le caches de spip et celui de ton navigateur et c’est bon :-)
      Après, pour la présentation, c’est juste une histoire de css, mais là, chaque site est unique
      Perso, à ta place, si tu débutes, le mieux est de prendre un squelette déjà fait (escale, sarkaspip, etc) et l’adapter à tes besoin, cela sera sans doute plus simple que de partir de zéro :-)

    • Fabou001

      Merci Franck ! avec ton code ça marche chez moi !
      Mon fichier jour.html ne contenait que : < INCLURE fond=extra1/agenda,env /> et le problème venait de là ...

      J’ai tout de même encore un problème : quand on clique sur l’évenement on arrive sur une page qui affiche :
      Calendrier
      juin 2013 :
      *11 juin 2013
      mai 2013 | juillet 2013

      et en dessous de ça l’évenement (du 11 juin 2013).
      Mais la ligne avec la date de l’évement dans la première partie de la page est un lien cliquable qui ne mène nulle part. Comment désactiver ce lien ?
      Et comment faire pour que l’évenement apparaissent juste en dessous de sa date (avant : mai 2013 | juillet 2013 dans mon cas).
      J’imagine que c’est dans la boucle INCLURE qu’il faut modifier qqch mais j’ai bcp de mal avec le langage spip..

      Merci d’avance !

    • Fabou001

      Je me réponds à moi-même : j’ai viré la balise INCLURE
      Donc pour moi c’est résolu ! Merci !!

    • Bonjour,

      Pour ma part j’ai résolue ce problème en ajoutant simplement un = à la ligne 26 dans la page jour.html fournie pas le plug-in agenda et replacé dans mon dossier squelettes.

      ligne 26 :

      [(#TOTAL_BOUCLE|>=1|sinon_interdire_acces#URL_EVENEMENT)]

      Et c’est repartie !

    Répondre à ce message

  • 3

    Bonjour à tous,
    merci pour ce beau plugin bien utile !
    Je rencontre un problème à cette adresse http://test.espacespluriels.fr
    La console de firebird me dit « TypeError : tooltip is null » et le calendrier ne se charge pas, il mouline :).
    Le truc étrange, c’est que je n’ai pas de problème en local (site SPIP installé sous mySQL).

    Ma config : SPIP 3.0.10 - miniCalendrier 2.3.4 - site hébergé chez OVH

    Quelqu’un a t il déjà entendu parler de cette erreur ?

    Merci pour votre aide,
    Nicolas

    • Je précise un peu les choses...

      Voici ce que donne la réponse de l’encodage json (le tableau contruit par le fichier calendrier_mini.json)

      Dans le site hébergé
      {"id":"683","allDay":false,"start":"2013-10-11 14:48:00","end":"2013-10-11 14:48:00","url":"spip.php?article683","className":"calendrier-couleur26","description":null}

      Dans le site local (sous easyPHP)
      {"id":"683","title":"INFLUENCES","allDay":false,"start":"2013-10-11 14:48:00","end":"2013-10-11 14:48:00","url":"spip.php?article683","className":"calendrier-couleur26","description":"\n<p>Influences (snip)

      Les filtres appliqués sur « title » et « description » ne semblent pas en cause, j’ai remplacé les balises #TEXTE et #DESCRIPTION par du texte simple et le résultat est le même : les clés title et description sont zappées...
      Je continue mes recherches...

    • Les filtres appliqués sur « title » et « description » ne semblent pas en cause, j’ai remplacé les balises #TEXTE et #DESCRIPTION par du texte simple et le résultat est le même : les clés title et description sont zappées...

      Rectification : le problème vient bien d’un problème de filtrage ! La base de donnée du site en local est en utf-8, celle du site hébergé en iso-8859-1. La question est donc : comment filtrer la balise #TEXTE afin qu’elle soit compréhensible dans le tableau json ?

      A tout de suite pour la réponse :)

    • Bon, voilà ce que j’ai trouvé :

      je rentre les titres des articles qui comportent des accents avec la norme ISO 8859-1 Characters

      puis je force le filtrage de la balise #TEXTE en utf-8 comme ceci
      title,[(#TITRE|html2unicode|unicode2charset{utf-8}|textebrut)]

      Merci

    Répondre à ce message

  • 1

    Bonjour,

    Une petite question W3C...

    Sans parler des data-json, data-year, data-month, data-url, data-vardate qui sont valides en html 5 ;)
    En fin de calendrier on trouve

    <script type='text/javascript'>/*<![CDATA[*/
    if (window.jQuery){jQuery(function(){
    		jQuery.getScript('local/cache-js/jsdyn-javascript_calendrier_mini_js-f26252e3-minify-c465.js',function(){minical.init('.minicalendar .calendar-container');});
    });}/*]]>*/</script><style type="text/css">
    .calendriermini{margin-bottom:1em}

    D’où une analyse en validateur qui donne document type does not allow element « style » here

    Le style type devrait être dans le head, non ?
    Comment peut on l’y mettre, en utilisant le pipeline insert head ? (Je dis ça après avoir lu la doc, mais je suis pas sûr de savoir comment faire ;) )

    Bonne journée !

    • Salut, je m’auto-répond partiellement.

      L’erreur W3C vient de formulaires/calendrier_mini.html où à la fin, il est indiqué

      Chargement de la css que l'on importe inline pour eviter un hit (performance)
      + fixer la css de background pour les boutons precedent/suivant
      
      ]<style type="text/css">
      [(#INCLURE{css/minical.css}|compacte{css})]
      .calendriermini .ui-datepicker-header .ui-icon {background-image: url("#CHEMIN{css/img/month_prev_next-32x16.png}");}
      </style>

      Donc, James doit avoir ses raisons ;)

      J’ai tenté pour voir le pipeline. En créant un

      <pipeline>
      	<nom>insert_head_css</nom>
      	<inclure>calendrier_pipelines.php</inclure>
      </pipeline>

      dans paquet.xml

      puis un fichier calendrier_pipelines.php avec dedans

      <?php
      
      function skiplink_insert_head_css($flux) {
      	$flux .= '<link rel="stylesheet" type="text/css" href="'.find_in_path('css/minical.css').'" media="all" />'."\n";
      	return $flux;
      }
      
      ?>

      En enlevant

      Chargement de la css que l'on importe inline pour eviter un hit (performance)
      + fixer la css de background pour les boutons precedent/suivant
      
      ]<style type="text/css">
      [(#INCLURE{css/minical.css}|compacte{css})]
      .calendriermini .ui-datepicker-header .ui-icon {background-image: url("#CHEMIN{css/img/month_prev_next-32x16.png}");}
      </style>

      dans formulaires/calendrier_mini.html

      et ajoutant

      .calendriermini .ui-datepicker-header .ui-icon {background-image: url("#CHEMIN{css/img/month_prev_next-32x16.png}");}

      dans minical.css

      Ça a pas donné grand chose (j’ai dû me planter quelque part ;)

      Je pense que ça doit être possible aussi de mettre le contenu de minical.css dans l’habillage du thème et d’enlever

      Chargement de la css que l'on importe inline pour eviter un hit (performance)
      + fixer la css de background pour les boutons precedent/suivant
      
      ]<style type="text/css">
      [(#INCLURE{css/minical.css}|compacte{css})]
      .calendriermini .ui-datepicker-header .ui-icon {background-image: url("#CHEMIN{css/img/month_prev_next-32x16.png}");}
      </style>

      dans formulaires/calendrier_mini.html pour avoir le même résultat (mais c’est sans doute moins propre...

      Bref...

    Répondre à ce message

  • 1

    Bonjour,
    J’avais un site 2.x, je l’ai passé en 3.x, enlevé le widget, mis le nouvel agenda et la balise affiche le calendrier, seulement, sans même les CSS puisqu’il n’a pas l’aspect montré ici.
    agenda 3.12.1
    mini calendrier 2.3.4
    Les événements ne sont pas indiqués, de quelque manière que ce soit dans le calendrier.
    Je ne sais pas où est le problème.
    Merci.

    • Salut,

      Regarde la réponse à Francis du 30 septembre 2012 à 11:10 Francis.

      Je pense que ça y répond.

      Bonne journée.

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom