Programmatically make your pages accessible only to members and/or cetain member groups
This module helps you when working with page types that should be
restricted from members that have not been logged in, and/or restricted
to a certain group.
While that behavior can easily be achieved via the CMS, sometimes you just want this to be the default, and not changeable by any users of the CMS.
This could especially be the case for sites with several languages, where the Sitetree can easily get cluttered up, but also just to keep things streamlined while working on a project with several developers, test servers etc.
Beyond that, we just sometimes like it better to define page permissions via code.
- Pages extending
MembersOnlyPageare only accessible by members
- Modules like blogs, forums etc can be extended with the
- Per default a page is shown to all logged in members. You can change that default by
$dictatedViewerGroupsarray in your page
MembersOnlyPage, or (if that's not possible), use the
In order to only allow certain groups, add the following to your page:
public $dictatedViewerGroups = array( 'allowedgroupcode1', 'allowedgroupcode2' );
In the frontend you'll only notice that pages are only available to the members you define, in the backend you'll notice that the section where you can change permissions is no longer editable by the user, and instead looks something like this: