Afficher le nom d'un utilisateur précis dans un article

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

  • Afficher le nom d'un utilisateur précis dans un article

    Bonjour,
    Dans le texte d'une page il y a le nom et le mail de la responsable de com de l'asso.
    J'aimerais que ces infos soient automatiquement mises à jour si la personne change.
    J'ai donc créé un groupe user : Com (id = 10), installé le plugin UP et j'ai mis ce code :
    Code PHP:
    {up php $user JFactory::$user gid 10); echo ($user) ? $user->name ; } 
    J'ai essayé avec :
    JFactory::getUser(gid=10), getUser$gid=10), getUser(groupId=10), etc ... sans aucun succès. Une alerte me dit que l'action php n'a pas été trouvée J'ai cherché dans la doc de Joomla, j'ai bien vu comment rechercher un user par son id mais pas selon son id de groupe.

    Merci d'avance à qui pourrait me donner une piste !

  • #2
    Bonjour,

    La difficulté est qu'un groupe peut contenir plusieurs users. Je ne suis pas sûr que Joomla permette cela.
    Je pense que l'action SQL de UP convient mieux au besoin.
    Code:
    {up sql=#__users
     | SELECT=#__users.name
     | INNERJOIN=#__user_usergroup_map ON #__user_usergroup_map.user_id = #__users.id
     | WHERE=#__user_usergroup_map.group_id=10
     | SETLIMIT=1}​
    sql et select définissent la colonne retournée.
    innerjoin et where recherche toutes les personnes du groupe 10
    setlimit restreint l'affichage à une seule personne
    louisseize aime ceci.
    UP, le plugin universel à découvrir sur https//up.lomart.fr
    bgMax
    , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

    Commentaire


    • #3
      Hello,
      Pardon pour le temps mis à répondre. Merci mille fois, ça marche nickel !

      Commentaire


      • #4
        Hello Lomart, je reviens sur le sujet car je découvre UP et c'est assez incroyable ce qu'il peut faire ! Dès lors, je me demandais si, avec le code donné, il ne serait pas possible de créer un shortcode réutilisable, dans lequel je n'aurais qu'à entrer l'ID du groupe pour qu'il m'affiche le nom et le mail de la personne concernée ? Je me suis basée sur ton code et ai créé le second pour le mail, mais ça fait beaucoup de lignes et risque de perturber ceux qui mettent à jour les articles. J'aimerais n'avoir à ajouter qu'un truc du genre {up groupe 10} par exemple
        J'ai donc épluché les pages du forum du plugin et les tutos, mais je n'arrive pas à trouver la porte d'entrée. Peut-être avec le plugin bouton ? Mais la dernière version est compatible J4, j'ai tenté de l'installer sur mon J5 pour voir si cela fonctionne avec TinyMCE et le bouton n'apparaît pas. Dupliquer un dossier dans le répertoire actions et l'adapter ?
        Merci d'avance si tu peux me donner une piste.

        Commentaire


        • #5
          Bonjour,

          On peut éviter de ressaisir les arguments d'une action en utilisant les prefsets

          Par contre, il est impossible d'avoir des variables dans les arguments des options. Il faut oublier le groupe=10. C'est forcément en dur

          Les autres solutions plus souples/simples :

          jcontent-in-content : https://up.lomart.fr/demo/action-jcontent-in-content
          J'utilise cette solution sur le site de UP pour les informations que l'on retrouve à plusieurs endroits.
          J'ai une catégorie "fragments" qui contient des articles avec les infos nécessaires. Il me reste plus qu'à l'insérer dans l'article avec un {up jcontent-in-content=X}

          snippet : https://up.lomart.fr/demo/action-snippet
          on affiche un fichier HTML avec les infos

          UP, le plugin universel à découvrir sur https//up.lomart.fr
          bgMax
          , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

          Commentaire


          • #6
            Je m'aperçois que j'ai oublié de répondre à 2 questions
            Envoyé par louisseize Voir le message
            Peut-être avec le plugin bouton ? Mais la dernière version est compatible J4, j'ai tenté de l'installer sur mon J5 pour voir si cela fonctionne avec TinyMCE et le bouton n'apparaît pas.
            La dernière version du plugin éditeur est bien compatible Joomla 5. C'était un oubli de mise à jour sur la page téléchargement. Le bouton doit être dans le menu 'Joomla'

            Envoyé par louisseize Voir le message
            Dupliquer un dossier dans le répertoire actions et l'adapter ?

            C'est une solution, mais demande pas mal de boulot.
            3 solutions :
            1/ dupliquer l'action SQL en juser_infos (par exemple). Ajouter une option 'id-groupe', puis remplacer la valeur dans l'argument de l'option where. Ce n'est pas très propre !
            2/ créer une action 'juser_infos' dont l'unique argument est l'id du groupe. La requête SQL retournant le nom et l'émail. Propre, mais spécifique à un besoin 'pas très courant'
            3/ modifier l'action SQL en permettant la saisie d'options 'variable-X'.
            Code:
            {up sql=#__users
             | SELECT=#__users.name
             | INNERJOIN=#__user_usergroup_map ON #__user_usergroup_map.user_id = #__users.id
             | WHERE=#__user_usergroup_map.group_id=##variable-1##
             | variable-1=10
             | SETLIMIT=1}​​
            L'avantage de cette solution est son universalité et la possibilité d'utiliser un prefset
            Code:
            [info-resp-com]
            sql="#__users"
            select="#__users.name"
            innerjoin="#__user_usergroup_map ON #__user_usergroup_map.user_id = #__users.id"
            where="#__user_usergroup_map.group_id=##variable-1##"
            setlimit="1"

            Le shortcode deviendrait
            Code:
            {up sql=info-resp-com | variable-1=10}
            C'est plus universel. Le webmaster prépare le prefset et le rédacteur n'a plus qu'à saisir les variables (maxi 12)
            Je vais voir si je peux implanter cette solution pour la prochaine version de UP
            Dernière édition par lomart à 01/06/2024, 17h46 Raison: correction code
            UP, le plugin universel à découvrir sur https//up.lomart.fr
            bgMax
            , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

            Commentaire

            Annonce

            Réduire
            Aucune annonce pour le moment.

            Partenaire de l'association

            Réduire

            Hébergeur Web PlanetHoster
            Travaille ...
            X