Champ Tags tri, des tags par ordre alphabétique

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] Champ Tags tri, des tags par ordre alphabétique

    Bonjour à tous,

    J'aimerais que les tags présentés dans le champ Tags de l'éditeur d'article, apparaissent par ordre alphabétique et non pas par id ou date de création (j'avoue que je ne sais pas trop quel est l'ordre par défaut).
    Est-ce possible ? Si oui comment dois-je procéder ?

    Merci pour votre aide

  • #2
    Tiens, l'ordre n'est pas celui déterminé par l'Ordre (à la page Tags) ?
    Intuitivement c'est ce que j'aurais dit...
    Présentations : slides.woluweb.be | Coordonnées complètes : www.woluweb.be

    Un message d’erreur sur votre site Joomla... ayez le reflexe de consulter la base de connaissance : https://kb.joomla.fr

    Ce forum, vous l'aimez ? Il vous a sauvé la vie ? Vous y apprenez régulièrement ? Alors adhérer à l'AFUJ, l'Association Francophone des Utilisateurs de Joomla : https://www.joomla.fr/association/adherer

    Commentaire


    • #3
      Bonjour Woluweb,

      Merci pour votre réponse.
      Vous avez raison, le tri par défaut semble être celui définit par l'ordre manuel.
      Comme je manipule beaucoup de tags, j'aurais aimé avoir un tri automatisé et de préférence alphabétique.

      Salutations

      Commentaire


      • #4
        Bonjour,

        Pour réaliser ce que vous souhaitez, il va falloir passer par une surcharge du layout pour trier avant affichage (comme suggéré par https://forum.joomla.org/viewtopic.php?t=891924 ).

        La surcharge peut se faire en copiant le fichier layouts/joomla/content/tags.php dans le répertoire html/layouts/joomla/content de votre template. Il suffit ensuite d'ajouter en ligne 13 la ligne
        Code PHP:
        JArrayHelper::sortObjects($displayData'title'1truetrue); 
        Vous avez possibilité aussi de passer par l'administration pour faire cette surcharge : menu gérer/templates/styles, onglet "créer des substitutions" et, dans la section "Affichages", sélectionner joomla puis "content". Le problème est que cela va mettre tout le répertoire "content" dans votre répertoire html/layouts de votre template. Il y aura bien le ficher tags.php, mais aussi tous les autres fichiers du répertoire.

        Pascal
        If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

        Commentaire


        • #5
          Bonjour Pascal,

          Merci pour votre réponse.

          Il me semble que ce que vous proposez est une méthode pour ordonner les tags d'un article consulté par un visiteur non enregistré.

          Pour le site sur lequel je travaille est proposé la possibilité à des utilisateurs connectés de créer/éditer des articles en Front.
          Dans le formulaire d'édition d'article j'ai mis le champ tag (le select chozen avec auto-complétion que l'on retrouve dans le Backoffice).
          C'est la liste de ce champ select que je souhaiterais réordonner.

          Salutations

          Commentaire


          • #6
            Effectivement, j'avais mal lu le message initial.

            C'est un peu plus compliqué car il faut maintenant surcharger le formulaire d'édition des articles : components/com_content/views/form/tmpl/edit.php.

            Il se base sur libraries/src/Form/Field/TagField.php pour obtenir la liste des tags et cette liste est triée par ordre lft (qui vient de la table assets).

            Il faut donc dériver la classe TagField et créer un classe TagSortedField afin de trier, non plus par lft mais par path, title :
            $query->order('a.lft ASC'); devient $query->order('a.path ASC,a.title ASC'); dans cette nouvelle classe.

            Remarque: comme dans le fieldset de article.xml on a déjà un addfieldpath, le nouveau fichier TagSortedField.php contenant la nouvelle classe TagSortedField doit être copié dans le répertoire librairies/src/Form/Field.

            Pour que la surcharge du formulaire fonctionne, il vous faudra mon petit plugin permettant de gérer la surcharge de formulaires : https://www.conseilgouz.com/site-form-override et y mettre com_content après l'avoir activé.

            ci-joint forms.zip à copier dans le répertoire de votre template (s'il n'existe pas déjà) et le fichier TagSortedField à copier dans le répertoire libraries/src/Form/Field après avoir dézipper naturellement.


            Pascal
            Fichiers joints
            woluweb aime ceci.
            If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

            Commentaire


            • #7
              Bonjour Pascal,

              Ça fonctionne un grand merci pour votre aide.
              Félicitation pour la maîtrise de l'outil.

              Sincères salutations
              Simon Delmotte

              Commentaire

              Annonce

              Réduire
              Aucune annonce pour le moment.

              Partenaire de l'association

              Réduire

              Hébergeur Web PlanetHoster
              Travaille ...
              X