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 |
---|---|---|
152 | Escal Proof of concept d’util | 19 avril 2021 |
395 | Parlons d’Escal | 19 avril 2021 |
396 | Escal est html 5 | 19 avril 2021 |
397 | Escal est Réponsive | 19 avril 2021 |
207 | Pourquoi le squelette "Escal" | 19 avril 2021 |
402 | Escal est international | 24 avril 2021 |
398 | Escal est Performant | 19 avril 2021 |
477 | Escal change de couleurs (…) | 14 octobre 2022 |
480 | Les mots-clés | 14 octobre 2022 |
10 | Les Plugins de la mutualisati | 22 août 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,
#CHEMIN{
data/xxx.csv}}>
xxx.csv : doit indiquer le nom du fichier
– pour notre exemple
<BOUCLE_a(DATA){source csv,
#CHEMIN{
data/membres.csv}}>
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.