Jeu de squelettes Multiflex 3 et le plugin « agenda2 »

Il s’agit d’un tutorial (pas à pas) expliquant comment mettre en route le calendrier du plugin « agenda2 » dans le squelette « Jeu de squelettes Multiflex 3 » et uniquement celui-là ! Prenez conscience que le plugin « agenda2 » est passible d’évolution, donc, ce qui est valable actuellement, ne le sera peut-plus dans une prochaine version.
Il vous appartiendra donc de faire remonter l’info et si possible de donner une solution pour que cet article soit toujours utile aux prochaines personnes.

Un fois fait, vous aurez un calendrier de 150 pixels de large dans la partie publique de votre site.
Le code pour la mise en route vient du forum du plug et d’Erwan (merci à tous).

Pour toute question sur le fonctionnement du plugin, veuillez vous diriger vers le forum de celui-ci.
Lien vers le plugin agenda 2

Si jamais, vous n’avez pas de réponse, alors, vous pouvez éventuellement posez votre question à Erwan, mais faîtes le uniquement en seconde démarche.

Lien vers le site d’Erwan

En suivant la méthode A, vous aurez votre calendrier dans la colonne de droite si vous choisissez, la structure 3 colonnes via cfg sinon dans la colonne de gauche, si vous choisissez 2 colonnes.

En suivant la méthode B, vous aurez votre calendrier sous « Accueil du site » au centre de la page.

1- Créez un dossier « squelettes » à la racine de votre site SPIP.

2- Dans votre dossier squelettes, vous créer un dossier « css ».
Ce qui vous donne donc :

  • squelettes/css

3- Vous devez creer dans votre dossier squelettes un dossier du nom de « formulaires »

Ce qui vous donne :

  • squelettes/formulaires

4- Vous devez creer et copier ce code, dans un fichier du nom de « inc-agenda.html ».

#CALENDRIER_MINI{#ENV{date},'date',#SELF}

Ce fichier, vous l’enregistrer dans le dossier squelette que vous avez fait en étape 1.

5A- Vous devez faire dans votre dossier, squelettes fait en étape 1, un dossier du nom de « noisette » et à l’intérieur un dossier du nom de « sommaire », un autre du nom de « rubrique » et un dernier du nom de « article ».
Vous aurez donc :

  • squelettes/noisettes/sommaire
  • squelettes/noisettes/rubrique
  • squelettes/noisettes/article

6A- Vous avez un fichier qui se nomme « supplements_colonne », dans les dossiers

  • squelette_multiflex3/noisettes/sommaire
  • squelette_multiflex3/noisettes/rubrique
  • squelette_multiflex3/noisettes/article

Dans les fichiers, vous devez ajouter dedans :

[(#REM) Calendrier ]
[
	[(#ENV{mfx_colonne_div}|=={oui}|oui)
	<div class="subcontent-unit-border-blue">
	  <div class="round-border-topleft"></div><div class="round-border-topright"></div>
	]
	(#INCLURE{fond=inc-agenda}{ajax}{env}
		{mfx_couleur=blue}
		|trim   
	)
		  [(#ENV{mfx_colonne_div}|=={oui}|?{</div>})]
]

Puis vous l’enregistrer sous le même nom dans les dossier que vous avez fait en étape 5A.

5B- Vous devez faire dans votre dossier squelettes, fait en étape 1, un dossier du nom de « noisette » et à l’intérieur un dossier du nom de « _entete ».
Vous aurez donc :

  • squelettes/_entete

6B- Vous avez un fichier qui se nomme « bas », dans le dossier squelette_multiflex3/noisettes/_entete dans ce fichier, vous devez ajoutez la ligne :

<INCLURE{fond=inc-agenda}{ajax}{env}>

Puis vous l’enregistrer sous le même nom dans le dossier que vous avez fait en étape 5B.

7- Dans le dossier squelette_multiflex3/css, vous avez un fichier « header.css.html »
Vous devez copiez dedans :

/* Calendrier */
#calendar {margin: auto; padding: auto; text-align: center; position:relative;}
#calendar h2 {margin: auto; padding: auto; text-align: center; position:relative; width: 150px;}
#calendar table {margin: auto; text-align: center; position:relative; width: 150px;}

Puis, vous l’enregistrer avec le même nom, dans le dossier « css » que vous avez fait en étape 2

8- Vous copiez ce code, dans un fichier qui portera comme nom « aujour.html » et vous l’enregistrer dans votre dossier squelettes que vous avez fait en étape 1.

<div style="text-align: center"><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)} -->
[(#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_evenements></div>

9- Dans le fichier « calendrier_mini.html » qui est dans .../agenda_2_0/formulaires/
Vous avez ligne 5 et ligne 10.

<a

Vous devez ajoutez au deux lignes class=« ajax ».
Ce qui vous donnera en ligne 5 et 10 :

<a class="ajax"

Vous avez ligne 52

#ENV{self},'',#ENV{var_date}})

Vous devez mettre à la place.

?page=aujour,'',#ENV{var_date}})

Puis vous l’enregistrer sous le même nom dans le dossier que vous avez fait en étape 3.

21/03/2010 mise à jour du point 9 pour suivre les modifications du plug

25/05/2010 mise à jour du point 9 pour suivre les modifications du plug

10/09/2011 mise à jour du point 9 pour suivre les modifications du plug

Discussion

7 discussions

  • Mickael

    Bonjour

    Je viens ici en désespoir de cause ou presque. Je n’arrive pas du tout à faire fonctionner le plugin, il me signale un message d’erreur « filtre #URL_ARTICLE » pas défini :(... quand il daigne s’afficher !

    Voyez ici : http://testmne.free.fr/spip/

    Merci à celui ou celle qui pourra m’aider !

    Répondre à ce message

  • 1
    laulo_973

    bonjour,

    je voulais avoir une précision sur les fichiers à créer ou modifier pour changer le style du calendrier (couleurs jours, taille du calendrier, différencier les mois précédents et suivants, ...)

    Merci pour ce tuto

    • C’est dans le point 7, qu’il faut faire les modifications, . Le fichier header.css.html s’occupe de l’apparence.

      PS, je viens de mettre à jour l’article pour suivre les modification du plug

    Répondre à ce message

  • 2
    Stéphane L

    Bonjour,
    Installé, ça marche nickel ! Merci !

    Par contre, quand je clique sur une date avec un évènement, la page qui s’ouvre est un peu « froide ».
    Je souhaiterais pouvoir l’ouvrir dans le style de ThickBox, plugin que j’ai par ailleurs déjà installé...

    Je tourne un peu en rond en cherchant le fichier à modifier...

    Apparemment, il faut que je trouve l’endroit ou il crée le <a mais j’ai pas dû regarder au bon endroit...

    Merci à celui qui aurait un truc, l’info ou tout conseil...

    Stéphane.

    • Stéphane L.

      Re-
      Alors, en grattant, j’ai vu qu’il fallait ajouté des paramètres à l’URL, donc sur la ligne 52 j’ai ajouté :

      spip.php?page=aujour&date=[(#DATE_DEBUT|affdate{'Y-m-d'})]&KeepThis=true&TB_iframe=true&height=400&width=600, 'thickbox'

      La première partie est bien ajoutée, mais il n’est pas ajouté la « class = thickbox » à la balise <a

      Y’a des choses qui se passent dans la fonction « agenda_mini($i) » mais j’avoue survoler un peu...

      Il y a moyen en ajoutant des filtres....? Ou faut il aller directement dans le coeur de spip ? (ce que je n’ai pas du tout envie...)

      Merci d’avance !

    • Stéphane L

      Bon, ça y est, c’est réglé.

      En fait, pour ceux que ça intéresse, c’est super simple :
      1 - dans le fichier répertoire plugin/(auto/)agenda2 modifier le fichier « agenda_fonction.php »
      -  ligne 72 :

      $evts = "<a href='".$evts[0]['URL']."{{&height=400&width=600' class='thickbox' }}title='".$nb_elmts." ".utf8_encode("�v�nements")."'>".intval($jour)."</a>";


      -  ligne 77 :

      $evts = "<a href='".$evts[0]['URL']."&height=400&width=600' class='thickbox' title='".$evts[0]['SUMMARY'].

      J’ai fait plein de modif, mais je crois avoir tout retiré pour ne laisser que celle là.

    Répondre à ce message

  • Bonjour,
    Très bon tuto.
    Personnellement j’ai eu un problème d’affichage de l’article correspondant à un événement de l’agenda. Il ne s’affichait pas dans le contenu_article.

    J’ai changé ce code (étape 10) :

    [(#ENV{self}|parametre_url{#ENV{var_date},[(#DATE_DEBUT|affdate{'Y-m-d'})]})]})

    par :

    [(#URL_ARTICLE|parametre_url{#ENV{var_date},[(#DATE_DEBUT|affdate{'Y-m-d'})]})]})

    J’ai ensuite créé dans « squelettes/noisettes/ » un dossier « inc ».
    J’y ai copié le fichier « contenu_article.html » et l’ai modifié en rajoutant à la fin le code de la partie 8.
    Il n’est plus indispensable de passer par l’étape 8.

    Il y a encore quelques problèmes de styles que j’espère pouvoir gérer rapidement (affichage du mini calendrier).

    Si ça peut servir à quelqu’un !

    Répondre à ce message

  • 5

    Bonsoir,
    J’ai essayé de mettre le plugin agenda 2.0 avec multiflex. Cela marche mais deux petits soucis :
    L’agenda apparait à deux endroits... et de plus je souhaiterais qu’il occupe tout l’espace qui lui est réservé. (site en préparation : http://claude.bobey.free.fr/ParoissesBondy/)

    Merci de vos conseils.

    • Bonsoir :-)

      Alors l’agenda est à deux endroits, car vous n’avez pas fait attention en lisant ce que j’ai écris :-)

      Vous désirez qu’il soit dans le bloc bleu à droite ou sous « Accueil du site » ?
      Ensuite, j’ai une petite question, vous avez bien fait le point 7 ?

      Voilà, j’aurais besoin que vous me répondiez pour que je vous aide un peu plus :-)

    • Bonsoir, et déjà merci de votre réponse rapide.
      trop fort ! J’ai fait la A et la B et bien les deux marches !
      Bon, je vais corriger cela et reviens vers vous pour la largeur.
      Pour info, Je veux l’agenda dans la colonne de droite.

    • Re-bonsoir,
      Bon cette fois ci, ça marche pour la colonne de droite. Reste la largeur du calendrier. Dois-je augmenter le 150 par défault ?

    • Je regarde demain matin, normalement, 150 est pour la taille, et non le centrage.

      De toute façon, je viens de me rendre compte que depuis l’écriture de l’article, il y a eu des modifs dans le fichier « calendrier_mini.html » donc il faut que je mette l’article à jour pour qu’il soit toujours accessible à tous :-)

    • Merci et super boulot que ce tuto.
      Le calendrier est maintenant centré ! J’avais du oublier de vide le cache quelque part...
      A bientôt.

    Répondre à ce message

  • Je me réponds à moi-même : je n’avais pas intégré le code correctement dans la page inc_agenda.html... Une petite précision cependant : le nom du dossier noisette dans le squelettes créé doit comporter un « s » à la fin, où ça ne fonctionne pas (en tout cas chez moi ! ).

    Répondre à ce message

  • Bonjour, et merci pour ce tuto très clair !
    J’ai malgré tout un petit souci :
    J’ai installé le plugin Agenda 2.0 avec le squelette Multiflex, mais je dois faire quelque chose de travers car le calendrier ne s’affiche pas sur mes pages ; si un événement se déroule dès aujourd’hui ou est terminé, seul un bandeau bleu apparaît, et si j’ai enregistré une actualité pour le futur, j’ai bien un encadré la présentant mais de façon textuelle, pas sous forme de calendrier. Aurais-je oublier une ligne de code quelque part ?
    Je suis en local, voici une capture du site en construction :

    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