Tri des articles par rubrique

Quand on veut afficher les articles dans un ordre différent selon les rubriques, par exemple des actualités par date anti-chronologique, un glossaire par ordre alphabétique, et d’autres rubriques par numéro d’article, il faut définir tous ces cas particuliers dans les squelettes.

Ce plugin permet de simplifier tout cela et de définir dans l’espace privé le tri des articles, rubrique par rubrique.

Dans l’espace privé

La page de configuration du plugin permet de choisir un mode de tri général, qui s’applique par défaut à toutes les rubriques :

Pour modifier le mode de tri sur une rubrique en particulier, on le choisit simplement en cliquant sur « Changer » :

Les articles sont alors affichés dans cet ordre dans l’espace privé.

Dans les squelettes

Pour reproduire le tri des articles dans l’espace public, il suffit d’utiliser le critère {tri_rubrique} dans les boucles d’articles, à la place de tout autre critère de tri :

<BOUCLE_articles(ARTICLES){id_rubrique}{tri_rubrique}>

Un même squelette affichera donc, selon la rubrique en cours, les articles dans l’ordre choisi dans l’espace privé.

Trier par rang

Si le plugin Rang est installé et activé sur les articles, il est pris en compte et le tri par rang est proposé.

NB : ce plugin surcharge un squelette de l’espace privé : /prive/objets/liste/articles.html

Discussion

2 discussions

  • 7

    Bonjour,
    suite à une mise à jour des plugins metasplus, saisies et tri_par_rubrique,
    j’ai un énorme bug qui m’a planté mon serveur, par une explosion du fichier error_log...
    avec une infinité (180Go) de :
    PHP message : PHP Warning : array_pop() expects parameter 1 to be array, int given in /home/...../public_html/plugins/auto/tri_par_rubrique/v
    1.4.9/tri_par_rubrique_fonctions.php on line 85

    spip 3.2.16, php7.4.33, tri_par_rubrique1.4.9.
    Je ne sais plus la version précédente mais ça marchait...
    Une idée ?
    MErci,
    Sylvain

    • Je suis revenu à la version 1.4.7 et je n’ai plus le problème.
      Sur irc, cy_altern n’a pas réussi à reproduire le bug.

    • Salut,
      tu parles du error_log au niveau système, pas SPIP ? Tu n’avais pas de rotation des logs ?

      Sinon sur ce warning c’est bizarre, ça ressemblerait au problème qu’avait une autre personne, effectivement cette fonction ne reçoit plus un int ($id_rubrique) mais un tableau ($Pile), mais si le cache n’est pas vidé ça peut provoquer des erreurs.

      Pour essayer d’identifier précisément le problème, est ce que tu pourrais stp essayer ceci : faire tourner le site avec la 1.4.7, pour avoir du cache généré, installer la dernière version (1.4.9) puis vider le cache aussitôt installée, et vérifier si tu as toujours ces logs ou pas ?

      Sinon, si tu peux m’indiquer les squelettes que tu utilises, ou me les fournir je peux tester en local.

    • Merci de te pencher dessus !
      Ce sont bien les logs d’apache, pas de spip.
      Il y a en effet un souci de logrotate, mais ça ne faisait pas 24h ; il faut que je regarde cela de plus près.
      Il y avait bien un gros cache (200Mo).
      Je voudrais faire une version de test, mais demain est un jour un peu spécial et ça ne me sera pas possible... j’essaierai bientôt.
      Je t’envoie un lien en mp pour les squelettes (ils utilisent z-core et spip-r-dist).
      Merci !

    • Pareil pour moi, les logs Apache explosent avec la 1.4.9

    • Je n’avais pas eu de retour de Sylvain, mais je pense que ça doit venir du fait que le cache n’est pas à jour.
      Si tu vides le cache depuis l’espace privé, est ce que tu as toujours ces warnings ?

    • Je suis repassé en 1.4.7 à la lecture des commentaires.
      Je vais tester de remettre la 1.4.9 en vidant le cache pour voir si le comportement est différent.

    • bonjour,
      par erreur (oubli), j’ai mis à jour le plugin en 1.4.9 dans le cadre d’une migration, et... re-bug.
      Evidemment, il faudrait que je fasse évaluer spip (v2.4.9), mais ce n’est pas possible.
      Attention donc à cette version pour spip 2.4.
      En revenant à la 1.4.7 ça fonctionne (bien, d’ailleurs !).

    Répondre à ce message

  • Hello

    Petit problème de chaîne de langue avec la version 1.5.0
    Si on a choisi par défaut le tri « par numéro dans le titre (10. ) », quand on veut changer le tri dans une rubrique, on voit ceci
    par défaut (tri_par_rubrique:tri_articles_num titre)
    Il manque l’underscore entre num et titre

    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