Tutoriel exemple pour la construction d’un tableau via le plugin Tablesorter
Prés-requis
Activé le plugin Tablesorter
Mise en service
Dans un article, il vous faudra inserer votre modeles construit de la maniére suivante :
- dans votre modeles, structurez les tableaux auxquels vous souhaitez ajouter les possibilités de tri en utilisant les balises
<thead>,<tbody>et<th>
<h1>Exemple d'utilisation du plugin "tablesorter pour SPIP"</h1>
<B_a>
<table class="spip tablesorter" style="margin-left: 200px; width:400px">
<thead>
<tr class="row_first">
<th>ID</th>
<th>TITRE</th>
<th>DATE</th>
</tr>
</thead>
<tbody>
<BOUCLE_a(ARTICLES){0,100}>
<tr[ class="(#COMPTEUR_BOUCLE|alterner{'row_even','row_odd'})"]>
<td>#ID_ARTICLE</td>
<td>[(#TITRE|supprimer_numero|couper{30})]</td>
<td>[(#DATE|affdate)]</td>
</tr>
</BOUCLE_a>
</tbody>
</table>
</B_a>Exemple d'utilisation du plugin "tablesorter pour SPIP"
| ID | TITRE | DATE |
|---|---|---|
| 8 | statuts | 1er novembre 2017 |
| 4 | Citations | 7 novembre 2017 |
| 7 | Règlement intérieur | 25 novembre 2017 |
| 122 | Explications après adhésion | 1er décembre 2017 |
| 148 | Publication d’un Mail | 1er novembre 2018 |
| 149 | COOKIES & RGPD | 1er novembre 2018 |
| 151 | Comptabilité | 1er novembre 2018 |
| 6 | Késako ? | 8 mars 2019 |
| 194 | Sauvegarde & Mise a jour | 9 mai 2019 |
| 202 | File Transfer Protocol | 12 juin 2019 |
Nous allons cette fois afficher un fichier au format CSV dans un article de votre site
[**Rappel :*] Votre fichier .csv est contruit de la maniére suivante :
- Séparateur : ; (point-virgule)
- Données encadrées par : " ... " (double quote)
- Utiliser les caractères spéciaux html : é => é ; ...
[**Attention :*] Les tableaux sont gérés par 2 fichiers distincts.
- les données : votre fichier .csv
ce fichier ne doit contenir QUE les données du tableau, à ’exclusion des titres de colonnes !- Créer un dossier /data pour les données (Impératif)
- Envoyer par FTP le fichier .csv dans ce dossier
/squelettes/data/xxx.csv
Exemple de fichier .csv
pour notre exemple, il se nomme membres.csv
- le modeles <modeles|>
- Créer un dossier dans votre répertoire /squelettes, le répertoire /modeles si il n’existe pas
- Envoyer par FTP le fichier modeles.html dans ce dossier
/squelettes/modeles/modeles.html
[**Noté que :*] modeles devra porté le nom de votre modeles en plus de tablesorter (imperatif).
pour notre exemple il se nomme : tablesorter_membresspipfactory.html
Ce fichier contient la boucle :
<tbody><BOUCLE_a(DATA){source csv,[bleu]#CHEMIN{data/[/bleu][rouge]xxx.csv[/rouge]}}>
[rouge]xxx.csv[/rouge] : doit indiquer le nom du fichier
– pour notre exemple
<BOUCLE_a(DATA){source csv,[bleu]#CHEMIN{data/[/bleu][rouge]membres.csv[/rouge]}}>
Vous pouvez créer autant de tableau que vous souhaitez, du momment que vouas ayez un couple fichier csv + modeles et que chaque coupl porte un nim différent.
Ex :
- tablesorter_deux.html
- tablesorter_abc.html
- tablesorter_maj.html
pour notre exemple, nous avons le couple
membres.csv + tablesorter_membresspipfactory.html
Ce qui nous donnera
<tablesorter_membresspipfactory|>
| SITES | NOM |
|---|---|
| https://spipfactory.fr | spipfactory.fr |
| https://spipfactory.com | Site de test ESCAL |
| https://spipfactory.org | Domaine pour test |
| https://essaillon-sederon.net | L'Essaillon |
| https://ag13.org | Association Généalogique des Bouches-du-Rhône |
| https://agha.fr | Association de Généalogie des Hautes-Alpes |
| https://amisfaiencefine.fr | Les Amis de la faïence fine |
| https://karibario6.spipfactory.fr | Karibario Racing |
| https://ligue-occitanie-bsq.spipfactory.fr | Ligue Occitanie de Bowling et Sports de Quilles |
| https://memoires-bedoin-ventoux.fr | Mémoires de Bédoin et du Ventoux |
| https://missionsafricaines.org | Missions Africaines |
| https://paroisse-aigueblanche.net | Paroisse Sainte Marie-Madeleine d'Aigueblanche |
| https://staarp.org | Section Tandem des Auxiliaires des Aveugles de la Région Parisienne |
| https://sudptt31.org | Sudptt31 |
| https://genea26provence.com/ | Cercle Généalogique de la Drôme Provençale |
| https://warmup95.fr | warmup95 |
| https://cegama.org/ | Cercle d’Entraide Généalogique des Alpes Maritimes et d’Ailleurs |
| https://clg-capucins-melun.fr/ | College Les Capucins |
| https://cgmp-provence.org | Centre Généalogique du Midi-Provence |
| https://chambotard.org | chambotard |
| https:/espace-langues.fr; | Espace langues |
| https://handivelo.staarp.org; | Handivelo.Staarp |
| https://mediationpartage.fr; | Médiation Part'Âge |
| https://cgt-fapt-51.spipfactory.fr; | CGT FAPT 51 |
| https://ghfpbam.spipfactory.fr" | "Xoko Maitea" |
La boucle compléte de notre exemple
<B_a> <!-- début de la boucle-->
<table class="spip tablesorter" style="align:center; width:50%">
<!--les balises de style ne sont pas indispensables-->
<thead>
<!-- Les n-colonnes de titre (ajouter autant de <th>...</th> que nécessaire, avec les titres qui vont bien) -->
<tr class="row_first" >
<!-- Utiliser <th class="ts_disabled"> pour empêcher le tri sur une colonne-->
<th style="text-align:right">SITES</th>
<th style="text-align:center">NOM</th>
</tr>
</thead>
<!-- La boucle qui récupère les données du fichier inclus dans le dossier
web/squelettes/data/tablesorter_xxx.csv -->
<tbody>
<BOUCLE_a(DATA){source csv, #CHEMIN{data/membres.csv}}>
<tr [class="(#COMPTEUR_BOUCLE|alterner{'row_even','row_odd'})"]>
<!-- Ajouter autant de <td>...</td> que de <th>...</th> -->
<td style="text-align:right">#VALEUR{0}</td>
<td>#VALEUR{1}</td>
</tr>
</BOUCLE_a>
</tbody>
</table>
</B_a>[**On peut également ne pas trier sur une ou plusieurs colonnes précises*]
Pour empêcher de trier sur une colonne, il suffit d’ajouter la class ts_disabled sur le th de la colonne.
