Magento Enterprise offers built in functionality to limit access to certain categories based off of customer group. Furthermore, an entire store can be configured so that categories are limited to only certain groups.
To start, navigate to System -> Configuration -> Catalog -> Category Permissions tab. An important note: the settings you define here are considered the default settings, however, they can be overridden at the category level. What this means is, you can define a base "rule" and then go to specific categories and add "exceptions" to that "rule". This is helpful if the majority of your categories are restricted or are open, allowing you to set the opposite setting on an individual category basis. We will incorporate both methods into our demonstration.
- First, set "Enable" to "Yes".
- Next for "Allow Browsing Category" you have three options
- Yes, for Everyone - is useful if you want to allow all customer groups to browse the categories and restrict access to only specific ones.
- Yes, for Specified Customer Groups - allows you to restrict access to all but the customer groups that you select.
- No Redirect to Landing Page - the third option disabled browsing categories completely and redirects them to the Landing Page that you define.
We're going to allow everyone to browse the category, so we select "Yes, for everyone".
From this screen shot, you will see that we have disabled Product Prices for the "NOT LOGGED IN", "General", and "Retailer" customer groups. You'll see that we only allow "Wholesale", "Private Sales Group", "VIP Members", and "Big Spenders" to add the items to their cart. Finally, we disable the catalog search for those customers who do not have an account.
We have now set our "baseline" category permissions that will apply to EVERY category on the site.
Category Specific Permissions
Magento also allows us to override these default permissions and add in category specific permissions. Navigate to Catalog -> Categories -> Manage Categories. Find the category you want to modify and select "Category Permissions" tab.
Next, click "New Permission". Under Website, you have the option of selecting which websites this will apply to. We are going to select "All Websites". For customer group, we choose "Retailer". We set Browsing Category to Allow - so that they can browse the category. We set "Display Product Prices" to "Allow" in order to view product prices. Finally, we set "Add to Cart" to "Allow" in order for them to add the products to their carts.
Using "Use Parent" will use the parent categories permissions for that particular setting. This is useful if you have many sub categories you'd like to be managed by one parent category - you won't have to go in and modify each and every one. Click "Save Category".