My site is coaching resource website with 5 levels, which are connected as membership plans. http://coaching.touchtight.com/register). Each plan is assigned up to certain menu levels. For example, level 1 is the free plan which is available to registered and non registered users. Level 2 plan should include access to level 1 and level 2. Level 3 plan include access to level 1, 2, 3. Level 4 plan include access up to level 4. Level 5 is a lifetime membership plan which have access to all levels(menus).

I need to implement access control to menu items so that only drop-down menu is visible to public, and menu items inside drop-down menu should be redirected to a registration page if the user is a non registered user. I achieved this on my level 1 menu item(Please check my site.) up to a certain extent as this visible even to non registered users. This differs from other levels as I need them only to display drop down menus to public/unregistered users. How can I achieve this?

My site: http://coaching.touchtight.com/level-1-start

Thanks, Dilum

up vote 3 down vote accepted

Start by going to Users->Access Levels and creating Levels 1-5 as you specified. After saving those levels continue on to Users->Groups and create groups 1-5 using the parent group "Registered". Now go back to Access Levels and assign whatever combination of groups you want to each Access Level. Finally, go to your menu items, probably Menus->Main Menu and change the access of each item to the level you want it to be.

  • I tried and managed to get dropdown content restricted but still menu item content is visible. If I make this simple, menu item should be able to display drop down menu by hovering over it but menu item should not be clickable. Any ideas @Rafe – Dilum Jayawardhana Dec 23 '16 at 17:26
  • 1
    Go to Menus->Main Menu and create a new menu item and assign it the type of System Links->Text Separator. Name it as you would any other item and select a position for it. If the position doesn't end up where you want just drag it to the place you want it from the Main Menu screen. It occurs to me though that as I write this you may want that to be an active link when a user is at a given level and at this point I'm not certain how that can be accomplished. Perhaps a third-party menu system is in order. I'll do some research and post back here. – Rafe Dec 23 '16 at 19:06
  • 3
    Hey @DilumJayawardhana I think I've got a solution for you. Do as I mentioned above to create the visible but unclickable link but make sure to set the Access to "Guest" - this will HIDE the link once a user is logged in. Next create another link with the same name and whatever access level you want it to be and place that in the same location of your menu structure. Now once the user is logged in with the appropriate access level that link will be active for them. – Rafe Dec 23 '16 at 19:29

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.