We use cookies to improve your experience. No personal information is gathered and we don't serve ads. Cookies Policy.

ExpressionEngine Logo ExpressionEngine
Features Pricing Support Find A Developer
Partners Upgrades
Blog Add-Ons Learn
Docs Forums University
Log In or Sign Up
Log In Sign Up
ExpressionEngine Logo
Features Pro new Support Find A Developer
Partners Upgrades
Blog Add-Ons Learn
Docs Forums University Blog
  • Home
  • Forums

NG! Member List -- new fieldtype for FieldFrame

Development and Programming

Doug E's avatar
Doug E
98 posts
16 years ago
Doug E's avatar Doug E
Loving this extension. However, I’m getting duplicate entries in the drop down list - lists the same name 10 times for each member. Anyone else got this problem?

Yes, I get 5. Incidently I have 5 sites in my MSM install. Maybe an issue with MSM?

LG Member List works fine, but I would prefer to use as Field Frame Matrix a la NG Member List.

       
Gareth Davies's avatar
Gareth Davies
491 posts
16 years ago
Gareth Davies's avatar Gareth Davies
Loving this extension. However, I’m getting duplicate entries in the drop down list - lists the same name 10 times for each member. Anyone else got this problem?
Yes, I get 5. Incidently I have 5 sites in my MSM install. Maybe an issue with MSM? LG Member List works fine, but I would prefer to use as Field Frame Matrix a la NG Member List.

Ah yes, it’ll be an MSM issue as by no coincidence I have 10 sites…

       
Chris Newton's avatar
Chris Newton
440 posts
16 years ago
Chris Newton's avatar Chris Newton

To fix the Multisite Manager issues there’s a simple fix.

Add “$PREFS” to the list of globals (around line 118)

http://labs.nakedgremlin.com/ee/ng_member_list/
    function _display_field($field_name, $field_data, $field_settings) {
        global $IN, $DSP, $LANG, $DB, $FNS, $PREFS;

And add some to the SQL that selects specific to the current site. (around line 150) $sql .= ’ AND site_id = ‘.$PREFS->ini(‘site_id’).” “;

$sql .= '    WHERE '.$this->db_prefix.'_members.member_id ';
            // add the site line below. .
            $sql .= '    AND site_id = '.$PREFS->ini('site_id')." ";
            $sql .= $FNS->sql_andor_string($ids, 'group_id', $this->db_prefix.'_members');
       
vosSavant's avatar
vosSavant
380 posts
15 years ago
vosSavant's avatar vosSavant

NG,

AWESOME work. This extension saved me the hassle of trying to code something like this myself. Thank you for making this available to the community.

       
Ian Ebden's avatar
Ian Ebden
312 posts
15 years ago
Ian Ebden's avatar Ian Ebden

Very handy extension NG, thanks. I was experiencing weirdness with LG Member List and FieldFrame so switched to this instead. I’m using Matrix so admins can add/remove multiple members (rows) to an entry. All good except on my template where all I can seem to output is one member, me! Here’s the code for my Matrix custom field…

<ul>
                    {my_custom_matrix_field}
                    {exp:query sql="SELECT member_id, group_id, screen_name, email FROM exp_members WHERE member_id={my_col_name}"}
                    <li{switch='| class="alt"'}><a href="mailto:{email}">{screen_name}</a></li>
{/exp:query}
                    {/my_custom_matrix_field}
</ul>

If there are two rows/members in my entry, the template just outputs my screen name twice, ignoring the member_id passed into my query. Any ideas?

       
Chris Newton's avatar
Chris Newton
440 posts
15 years ago
Chris Newton's avatar Chris Newton

You might try changing the sql query to spit out something that isn’t named the exact same thing as EE tags.

{exp:query sql="SELECT member_id, group_id, screen_name, email AS custom_member_id, custom_group_id, custom_screen_name, custom_email FROM exp_members WHERE member_id={my_col_name}"}
<li{switch='| class="alt"'}><a href="mailto:{custom_email}">{custom_screen_name}</a></li>
       
Ian Ebden's avatar
Ian Ebden
312 posts
15 years ago
Ian Ebden's avatar Ian Ebden

Thanks Chris, but I’m getting an error…

MySQL ERROR:

Error Number: 1054

Description: Unknown column 'custom_group_id' in 'field list'

Query: SELECT member_id, group_id, screen_name, email AS custom_member_id, custom_group_id, custom_screen_name, custom_email FROM exp_members WHERE member_id=3

I’m not an SQL guy, so any pointers much appreciated.

       
Chris Newton's avatar
Chris Newton
440 posts
15 years ago
Chris Newton's avatar Chris Newton

WHOOPS. Sorry. Try this:

SELECT member_id AS custom_member_id, group_id AS custom_group_id, screen_name AS custom_screen_name, email AS custom_email FROM exp_members WHERE member_id=3
       
Ian Ebden's avatar
Ian Ebden
312 posts
15 years ago
Ian Ebden's avatar Ian Ebden

Bingo! Works great, many thanks.

       
1 2

Reply

Sign In To Reply

ExpressionEngine Home Features Pro Contact Version Support
Learn Docs University Forums
Resources Support Add-Ons Partners Blog
Privacy Terms Trademark Use License

Packet Tide owns and develops ExpressionEngine. © Packet Tide, All Rights Reserved.