Fiche N°9 - Un accordéon en sommaire

par manu

Objectif : Jouer avec jquery, et utiliser un accordéon afin de présenter beaucoup d’informations sur une seule page.

Charger les css et javascript de l’accordéon :

  • Créer le sous-répertoire squelettes/inclure
  • Éditer le fichier inclure/jquery.html :
  1. <script type="text/javascript" src="#CHEMIN{prive/javascript/ui/jquery-ui.js}"></script>
  2. <script type="text/javascript" src="#CHEMIN{prive/javascript/ui/jquery.ui.accordion.js}"></script>
  3. <link rel="stylesheet" href="[(#CHEMIN{css/jquery-ui.css})]" type="text/css" media="all" />
  4. <link rel="stylesheet" href="[(#CHEMIN{css/jquery.ui.accordion.css})]" type="text/css" media="all" />
  5. <script type='text/javascript'>
  6. $(function() { $( "#accordeon" ).accordion({ heightStyle: "fill",collapsible: false }); });
  7. </script>
  8.  
  • Les deux premières lignes chargent le code javascript, les deux suivantes le css correspondant. La dernière permet d’utiliser l’accordéon sur le div ayant comme id accordeon [1]. Différentes options peuvent être fixées pour modifier le comportement de notre accordéon, voir la documentation pour en savoir plus.

Modifier le fichier inclure/recents.html

  • Ce fichier implémente la boucle article qui permet d’afficher les articles les plus récents. Repérez la BOUCLE_articles et modifiez-la de la manière suivante :
  1. <div id="accordeon">
  2. <ul>
  3. <BOUCLE_articles(ARTICLES) {!par date} {pagination}>
  4. <li class="hentry clearfix">
  5. [(#LOGO_ARTICLE_RUBRIQUE{#URL_ARTICLE}|image_reduire{40,*})]
  6. <h3 class="h2 entry-title"><a href="#URL_ARTICLE" rel="bookmark">#TITRE<br />
  7. <small><abbr class="published"[ title="(#DATE|date_iso)"]>[(#DATE|affdate_jourcourt)]</abbr>[, <:par_auteur:> (#LESAUTEURS|supprimer_tags)]</small></a></h3>
  8. [<div class="#EDIT{intro} introduction entry-content"> (#INTRODUCTION|couper{200})<br /><a href="#URL_ARTICLE" style="color:#990000; text-decoration:underline">lire la suite</a></div>]
  9. </li>
  10. </BOUCLE_articles>
  11. </ul>
  12. </div>
  • Les modifications proposées visent à :
    • Insérer la boucle dans un div appelé accordeon
    • Intégrer le tag <small> au header <h3>, en effet il faut que le <div> qui constitue le cœur de l’élément (et la partie qui bouge de l’accordéon) soit voisin du header
    • Ajouter un lien ("lire la suite") car l’accordéon empêche de cliquer tranquillement sur le titre de l’article comme avant
    • Ajouter un filtre pour couper les articles à 200 caractères, pour une question d’esthétique

Modifier le fichier sommaire.html

  • Vous devrez inclure le nouveau fichier à partir de sommaire.html, soit ajouter juste au-dessus de </head> :
  1. <INCLURE{fond=inclure/jquery} />

[1bien sûr vous pouvez changer le nom !