Afficher en frontend le nombre (ou la liste) des membres d'un groupe ?

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

  • [RÉGLÉ] Afficher en frontend le nombre (ou la liste) des membres d'un groupe ?

    Bonjour à tous,

    Connaissez-vous un moyen, sans devoir passer par une extension de type CB ou équivalent, pour afficher dans un module ou via un plugin le nombre, voire la liste des membres d'un groupe ?
    L'idée est de permettre aux visiteurs de savoir combien de membres font par exemple partie d'une classe, d'un groupe de sportifs selon leur sport et leur niveau, etc., les groupes étant ceux de Joomla! ?

    Merci par avance,
    Robert

    PS : le module "derniers inscrits" serait un premier pas, mais il n'affiche pas le groupe correspondant.
    Dernière édition par RobertG à 10/01/2019, 11h18
    "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
    MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

  • #2
    J'ai dupliqué et renommé le module "derniers inscrits" pour pouvoir afficher, au choix, la totalité des membres du site ou le total des membres par groupe avec son titre.
    Pour la totalité des membres, l'affichage se fait correctement, le nombre (numb) est bien reconnu. Par contre lorsque je veux afficher par groupe, je récupère bien le nom du groupe, mais j'ai cette erreur sur "numb" :
    Notice: Undefined property: stdClass::$numb in /home/www/sitestests/joomlatests/modules/mod_members/tmpl/default.php on line 17
    La ligne 17 où $name->title est bien récupéré :
    echo $name->title . ' : ' . $name->numb ;
    Le fichier principal définit $names :
    $names = ModMembersHelper::getMembers($params);
    La requête :
    Code PHP:
        public static function getMembers($params)
        {
            
    $db    JFactory::getDbo();
            if (
    $params->get('filter_groups'0) == 1) { // filter by group
                
    $query $db->getQuery(true)
                ->
    select('ug.title','COUNT(`ugm.group_id`) as numb')
                ->
    from('#__user_usergroup_map as ugm, #__usergroups as ug')
                ->
    where('ug.id = ugm.group_id')
                ->
    group('ugm.group_id');
            } else {  
    // all the users in the site
                
    $query $db->getQuery(true)
                ->
    select('COUNT(id) as numb')
                ->
    from('#__users');        
            } 
    La requête dans phpMyAdmin ne renvoie pas d"erreur mais bien les titres de colonnes, les nombres et noms des groupes :
    SELECT COUNT(`group_id`) as numb, ug.title FROM isl3f_user_usergroup_map ugm, isl3f_usergroups ug WHERE ugm.group_id = ug.id GROUP BY `group_id`
    Je n'arrive pas à comprendre quelle erreur j'ai pu faire pour que dans un cas ce nombre soit bien récupéré, et pas dans l'autre.
    Pouvez-vous m'aider ?
    Merci !
    Robert
    Dernière édition par RobertG à 10/01/2019, 10h41
    "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
    MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

    Commentaire


    • #3
      Ouf, trouvé ! Il me fallait utiliser "array" dans le "select" !
      ->select(array('ug.title','COUNT(ugm.group_id) as numb'))
      J'avais pourtant essayé mais probablement fait une erreur de syntaxe.
      "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
      MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

      Commentaire


      • #4
        J'ai un peu joué avec ce module !
        On peut actuellement afficher soit le total des membres du site, soit le total par groupe (tous les groupes) soit le total par groupe en filtrant sur une chaîne de caractères présente dans le nom du groupe.
        "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
        MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

        Commentaire

        Annonce

        Réduire
        Aucune annonce pour le moment.

        Partenaire de l'association

        Réduire

        Hébergeur Web PlanetHoster
        Travaille ...
        X