Categorizing members and listing them

Hello all

I am new to this site and am not really an elgg expert, but rather a plugin-user I would say. In other words I am not really able to do much complicated programming, but editing of some php files is ok.

So my question would be:

How can one create different categories of users and list them nicely?

I am aware and using the profile manager plugin ( ) and that seems to work great as a backend for user types. I was however very surprised that it does not seem to effect the members list page at all (e.g. what comes up under [elgg]members/ ).

I was hoping to have nice additional tabs with the profile-manager defined categories (or profile types) so that one can have a convenient directory of the different types of users very much akin to what I have already done with the community_groups plugin ( ).

What I am trying to do is to have a differentiation between organisational accounts and individuals, and use the profiles of the former as a sort of business directory/yellow pages for our new Ugandan Water and Sanitation NGO Network website that is build with Elgg.

Any help is appreciated and I hope I am not just overlooking something already included with the profile manager.


P.S.: Maybe it would be possible to modify the community_groups plugin to do the same for members?

  • Hmm... this manual page:

    mentions an "Show as filter on 'Members' page" option that should be in the settings, but I can't seem to find it in my profile-manager 7.5.1 install. I guess it referrs to an elgg 1.7 version only?

  • Ok I decided to use groups for the organizational accounts instead... together with the "related groups" plugin it works quite well for our purposes. Listing different user-groups on the members-list page via tabs would be still a nice to have feature though.

  • Due to the limited visibility options of closed groups (see here: ) I am back at trying to get this to work.

    There is some work on an extended members plugin ( ) that extended the number of tabs, but I sadly fail to unserstand how the profile manager categories or types could be filtered for.

    A simpler option would be to use this featured profile plugin: to have at least two different user-groups, but it also doesn't extend the members page, and the description how to modify is sadly cryptic to me.

    Any help is highly appreciated. Really strange that such a vital function doesn't exist for Elgg 1.8 yet...

  • Hi Krischan,

    I too have been looking for a way of a search facility for use with the Profile Manager, so that you can drill down users by categories (or extended fields), but apaprently that feature was taken out.

    If anyone can help that would be great!

  • I too have been looking for some ways, but it seems that I couldn't find the answer... :(


    SG Helping Tasks

  • Ok it seems be be easier than I thought.

    Basically the build in function "elgg_list_entities_from_metadata" does all the hard work.

    For now I managed to make the members plug-in list the featured members and sort members by name through adding these lines to mod/members/views/default/members/nav.php (under $tabs)

    'featured' => array(
            'title' => elgg_echo('members:label:featured'),
            'url' => "members/featured",
            'selected' => $vars['selected'] == 'featured',

    'name' => array(
            'title' => elgg_echo('members:label:name'),
            'url' => "members/name",
            'selected' => $vars['selected'] == 'name',

    (the language files need to be adjusted too of course)

    And then under mod/members/pages/members/index.php (under switch):

    case 'featured':
            $options = array(
                'metadata_name' => 'webgalli_user', //for featured members webgalli GPL plugin
                'metadata_value' => 'yes',
                'limit' => 5, //number of items per page
                'pagination' => true,
                'list_type' => 'list',
                'list_class' => 'elgg-list',
                'size' => 'small',
            $content = elgg_list_entities_from_metadata($options);

    case 'name':
            $db_prefix = elgg_get_config('dbprefix');
            $joins = array("JOIN {$db_prefix}users_entity u on e.guid = u.guid");
            $options['joins'] = $joins;
            $options['order_by'] = " ASC";
            $content = elgg_list_entities_from_metadata($options);

    Then do an page update, and the new tabs with the additional features should show up.

    I hope that this is a good way to do it. If I manage to do it, I might make a "members_list" plugin or such, that will hopefully include profile_manager compatibility as I assume right now that the profile_managers profile_types are also stored as metadata and thus should be prossible to get by the same code as above.

  • I've been trying to figure out too how to display member profile types in the members section!

  • I've been trying to figure out too how to display member profile types in the members section!

  • I've been trying to figure out too how to display member profile types in the members section!

  • I've been trying to figure out too how to display member profile types in the members section!