Each Menu item is assigned one of the access levels:
- Public (everybody),
- Affiliate (logged in under a realm),
- Member (full member),
- VIP (high privilege users),
- Owner (the website owner), and
- Admin (users allowed to do anything doable).
Before a user login, the session is a "Public" session. Only "Public" menu items are shown in such session. After the user logs in as a full member, the session becomes a "Member" session, and only Menu items of an access level equal to "Member" or lower will be shown. These selective display of menu entries are all done by the Portal Object. All you need is to insert the {pt%ListMenu} variable at the right place.
However, to prevent users from bypassing the menu and accessing the page via a direct URL, you need to put a safeguard into every page (there is usually only one) to suppress the information if the current session got a lower access level than the page. For example,
<beeaccess "lt {pt%PageInfo:AccessLevel}"> <span class="error">Please login first</span> <beeelse> ... (the proper content here e.g. <beetext ...>) ... </beeaccess>
|