SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

288 Plugins, 197 contribs sur SPIP-Zone, 151 visiteurs en ce moment

Accueil > Outils pour plugins > SPIP Bonux > Utiliser la balise #TRI et le criètre ’tri’ dans les squelettes

Utiliser la balise #TRI et le criètre ’tri’ dans les squelettes

26 juin 2011 – par Cyril Marion – commentaires

22 votes

Préambule

Le plugin "spip-bonux" améliore et facilite les tris dans les tableaux de résultats. Il met en jeu deux nouveaux outils :
-  un critère tri à placer dans vos boucles, et qui peut éventuellement être utilisé seul
-  une balise #TRI à placer dans vos squelettes, et qui génère des liens permettant de changer le sens des tris d’un tableau

Il s’agit d’une alternative incontournable au système jquery de tri "Table Sorter".

Utilisation du critère "tri" dans une boucle

Le critère ’tri’ peut être utilisé dans une boucle de la manière suivante :

Les 2 paramètres principaux à passer au critère tri sont les suivants :
1. le champ sur lequel le tri s’effectue ; dans notre cas le tri s’effectue sur la variable "order" contenue dans #ENV (#ENV{order}), et si celle-ci n’existe pas, sur le champ "champ"
2. le sens tu tri : cela peut être défini dans un tableau contenant les champs sur lesquels le tri peut s’effectuer et leur sens de tri par défaut

On peut passer un 3e paramètre qui est le nom de la variable (par défaut : tri_nomboucle).

Utilisation de la balise #TRI dans un squelette

La balise #TRI est remplacée lors du calcul de la page par un lien permettant de changer le paramètre "order" dans le #ENV. Elle s’utilise de la manière suivante (exemple dans une boucle contenant un champ id_commande) :

Les 3 paramètres à passer à la balise #TRI sont les suivants :
1. champ sur lequel le tri doit s’opérer
2. le titre du lien sur lequel il faudra cliquer pour recharger la page avec le paramètre order=champ
3. si ’ajax’ est spécifié en tant que 3e paramètre on évite un recalcul total de la pge lorsqu’on clique sur le lien

Méthode opératoire : combinaison filtre ’tri’ + balise #TRI

Charger le plugin "spip-bonux"

Une fois le plugin installé, bien vérifier que les scripts ont été chargés dans le squelette (une balise #INSERT_HEAD bien placée, suffit la plupart du temps).

Décrire le tri par défaut désiré

Placer au début du squelette la définition du tri par défaut.

Par exemple, pour que le tri du tableau s’effectue, dans l’ordre : sur le id_parent, le id_organisation et le id_rubrique, indiquer :


-  les clés du tableau sont les noms des champs sur lesquels s’opère le tri
-  les valeurs du tableau valent : 1 pour un tri ascendant, et -1 pour un tri descendant.

Indiquez les critères de tri dans la boucle

Par exemple, pour être en mesure de trier la boucle (complexe...) suivante par parent, organisation et rubrique, indiquez ces champs dans les critères de la boucle :

Autre exemple, pour pouvoir trier la boucle « factures » suivante, par date, numéro ou libellé :

Insérez la balise #TRI sur les colonnes pouvant être triées

Si votre liste est contenue par un tableau html, le déclenchement du tri peut être obtenu en cliquant sur le titre des colonnes. Il faut donc placer la balise #TRI dans le <th> de chaque colonne. La balise #TRI, qui génère le lien, s’utilise de la manière suivante :
#TRI{champ[,libelle][,ajax]}.

Pour le cas précédent, où l’on doit trier par parent, id_rubrique ou organisation, voici le code de l’entête du tableau :

En complément

Les fonctionnalités de la balise #TRI, définies dans BONUX pour SPIP 2, sont inclues en standard dans la version 3.0 de SPIP.

Voici le lien vers des explications complémentaires jointes au commit de la balise et du critère
-  dans BONUX : http://zone.spip.org/trac/spip-zone/changeset/25693
-  dans SPIP3 : http://core.spip.org/projects/spip/repository/revisions/16053

N’hésitez pas à publier d’autres exemples de boucles dans le forum.

Autres exemples :

  1. [(#ENV{sens_reglements}|=={-1}|non)
  2. [(#TRI{'>',#CHEMIN{img_pack/tri_asc-16.png}|balise_img{up}|inserer_attribut{class,on},ajax})]
  3. ]
  4. [(#ENV{sens_reglements}|=={-1}|oui)
  5. [(#TRI{'<',#CHEMIN{img_pack/tri_desc-16.png}|balise_img{down}|inserer_attribut{class,on},ajax})]
  6. ]
  7.  
  8. [(#ENV{tri_factures}|=={num_facture}|oui)
  9. [(#ENV{sens_factures}|=={-1}|non)[(#TRI{'>',#CHEMIN{img_pack/tri_asc-16.png}|balise_img{up}|inserer_attribut{class,on},ajax})]]
  10. [(#ENV{sens_factures}|=={-1}|oui)[(#TRI{'<',#CHEMIN{img_pack/tri_desc-16.png}|balise_img{down}|inserer_attribut{class,on},ajax})]]
  11. ]
  12. [(#ENV{tri_factures}|=={date_facture}|oui)
  13. [(#ENV{sens_factures}|=={-1}|non)[(#TRI{'>',#CHEMIN{img_pack/tri_asc-16.png}|balise_img{up}|inserer_attribut{class,on},ajax})]]
  14. [(#ENV{sens_factures}|=={-1}|oui)[(#TRI{'<',#CHEMIN{img_pack/tri_desc-16.png}|balise_img{down}|inserer_attribut{class,on},ajax})]]
  15. ]
  16. [(#ENV{tri_factures}|=={montant}|oui)
  17. [(#ENV{sens_factures}|=={-1}|non)[(#TRI{'>',#CHEMIN{img_pack/tri_asc-16.png}|balise_img{up}|inserer_attribut{class,on},ajax})]]
  18. [(#ENV{sens_factures}|=={-1}|oui)[(#TRI{'<',#CHEMIN{img_pack/tri_desc-16.png}|balise_img{down}|inserer_attribut{class,on},ajax})]]
  19. ]

Télécharger

Dernière modification de cette page le 12 février 2014

Retour en haut de la page

Vos commentaires

Répondre à cet article

Qui êtes-vous ?

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Module de paiement Paypal Express Checkout

    12 juin 2015 – commentaires

    Ce mode de paiement par Paypal Express Checkout est sécurisé et peut-être utilisé en toute confiance. Il permet également, dans le cadre de certaines boutiques, d’optimiser le workflow de paiement en sautant l’étape de création de compte et en (...)

  • Le plugin ZotSpip

    28 mai 2012 – 138 commentaires

    Synchronise Spip avec une bibliothèque (personnelle ou partagée) de références bibliographiques Zotero. Utilisez Zotero pour gérer / importer / rédiger vos références bibliographiques, puis incorporez vos références bibliographiques dans votre Spip avec (...)

  • ScolaSPIP 4

    19 janvier 2016 – 213 commentaires

    ScolaSPIP est plugin-squelette responsive personnalisable pour sites Web d’établissements scolaires basé sur SPIPr Présentation de ScolaSPIP Ce plugin pour SPIP 3 est développé par la Dane de l’académie de Versailles pour les webmestres de cette (...)

  • MediaBox

    10 mai 2010 – 514 commentaires

    Avertissement Le présent plugin est installé et activé par défaut sur toute les version de SPIP > 3.0. Inutile donc de l’installer manuellement sauf si vous utilisez SPIP 2.1. Aperçu La MediaBox est une Boîte multimédia polyvalente et (...)

  • Sommaire automatique

    31 janvier 2013 – 14 commentaires

    Ce plugin repère les intertitres des textes de vos articles et s’en sert pour génèrer un sommaire. Ce dernier peut être inséré automatiquement au début de chaque article, ou utilisé dans les squelettes pour générer un sommaire sur n’importe quel autre (...)

Ça spipe par là