Member categories
The obvious limitation of ExpressioEngine membership system is that a member can be part of only one membership group. The obvious advantage of categories is that they can intersect. Now, categories meet members with Member categories module!
It can be used to build permissions system on frontend, or to simply categorize your members, or let users save their favorite categories, relate “groups” of members to “groups” of entries - more and more flexibility within your EE site!
The categories used are the same Channel categories that are used for the entries.
You can assign as many categories to every member as you need using module’s control panel.
Is is also possible for members to select their categories on front-end if you have Stand-Alone Member Edit installed.
For support, please email .(JavaScript must be enabled to view this email address).
Comments
Comments are closed. To get support, email .(JavaScript must be enabled to view this email address).


This looks promising for some of the functionality I need for an upcoming project. However, I have one additional feature I need. I’m currently using the User Module to send invites and automatically assign those new registrants to a member group using a registration key. What I’d like to is to also add a Member Category during that invite process. If you know of any way that I could make that work, I would be most appreciative. Thank you.
Member Categories module does not have any integration features (yet), so it looks like a place for custom coding. I think most effective would be to re-use code from Member Categories in the module that performs registration.
Thank you for getting back to me. It looks like I managed to get all of this functionality through Solspace’s User Module after all.
Hi there,
I’ve just purchased this add-on. So far I really like it, but I’m coming across a few issues.
1) usernames in the URL
I’ve followed your steps here: http://www.intoeetive.com/docs/member_categories.html#related that highlights how to list entries under the category for the member. I don’t want to have to put the username (or any member details) in the url. Is it possible to do this without stating e.g. username=”{segment_3}”? I’ve tried replacing {segment_3} with member ID and username, but that doesn’t work
2) Following on from the above, if I am logged in as “client 1” I have the URL:
http://www.example.com/home/secure_area/client1
If (when logged in as client 1) I change the URL to client2 I can see the list of categories that have been assigned to client 2 (even though I’m logged in as client 1). (I’m hiding the entries using your restrict entry access extension)
—-
Basically, I don’t want my clients logging into the system and being able to see other clients’ categories (or entries).
Is this possible?
Thanks,
Gregor
Hi Gregor,
sorry for the late reply - I was on vacation and missed your comment. For the future, emails to .(JavaScript must be enabled to view this email address) are quicker way to get help.
Regarding your problem, you can simply omit username parameter to use data of currently logged in user. Is that what you’re trying to achieve?
I also need to know if you can prevent someone from seeing entries outside of their category and maybe show group or category name instead of username.
Considering I’ve been waiting for 6 days without a response - I’m not too confident! Good luck - drop a line here if you find a solution
Hi Linwood,
you can simply use {exp:member_categories:categories} (omiting username parameter). This will pass username of currently logged in user to the script.
But I don’t uderstand what you mean saying “maybe show group or category name instead of username”
Basically I want to create one template (or just a few) that shows content only the user logged in is allowed to see. At the moment, I would need to state the user in the URL, but if I type in another user’s username in the URL then I can see his / her content (or member categories).
So ideally, if member A has a category assigned called X when A logs in he / she sees on content under X. When member B (who is in category X and Y) then they can see content under X and Y.
So I need the username=” {tag} ” to pull in the current logged in user from member id or username not from the URL.
Does that make sense?
You will probably want to follow this example http://www.intoeetive.com/docs/member_categories.html#check
But do NOT use member_id or username parameters - in that case, member id/username of currently logged in person will be used (this is true for all Member Categories tags)
I believe you hit it on the head. What I meant by “maybe show group or category name instead of username” was for the url/{segment_3} part. But if it passes the currently logged in user automatically, then that’s my answer. Thanks.
Hi Yuri,
Will that work if I use a standard URL:
http://www.example.com/client-area/product-area
So “product-area” is the top level category and I want the page to display the content of the second-level categories that the member has access to e.g.
Product-area A has 4 sub categories (1, 2, 3 and 4)
Member A can see 1, 2, and 3
Member B can see 3 and 4
Forgetting about the content (as I can block that using your access module, will all sub-categories display on the page http://www.example.com/client-area/product-area? I only want Member B to see categories 3 and 4.
I reality I have 30 sub categories per product area, so when a client logs in I only want them to see the names of their categories if you see what I mean!
Thanks - hard to explain over email!
You can display categories assigned to member using {exp:member_categories:categories} tag pair. Inside of it, you should check parent_id to see whether it matches desired top level category.
Alternatively, you could use {exp:channel:categories} loop and check each category whether it’s allowed to be viewed by logged in user (using {exp:member_categories:check} tag)