How to allow user to see page on tab list, but need to be logged in to see page

Hi, a client wants to make page visible only to logged in users. So I made page private, then shared with members. works fine.

However, that also means the page name is not shown on the tab pulldown list. What the client would like is the page name to show whether logged in or not; however, after clicking on the page, if not logged in, will be taken to the login page.

Is this possible for a site admin TTW?

thanks

Should be possible in portal_actions > portal_tabs. Add a new tab for the page. To avoid the tab showing up twice for logged-in users, change the page's settings (via edit) to 'hide in navigation'.

1 Like

@gyst already gives you a neat answer.
If I were you, will manually customize the tab (pulldown list) by utilizing plone.global_section viewlet. Here is an example FYI.

Try ZMI /portal_view_customizations/plone.global_sections if you think that's TTW :wink:

I often do this by having a public folder and a internal default page. The problem here is any files or pictures in the folder are not workflow by default and will have the same permission as the folder. So you should put anything like that in subfolders.

One of possible solutions is to create link to page, make that link visible in porta tabs for everyone and make page not visible via setting "hide in navigation"

Yes, we also use this solution for the requested scenario.

Thanks for all the great ideas,.

Here's what I tried by using your ideas to fit my situation, however, still have issue.

  1. used public page that displays in menu pulldown (as it does now)
  2. created private folder (to contain my private content)
  3. in the public page above, added link to private folder, knowing it wouldn't allow because of permissions. however, assumed I would be redirected to log in. Instead, got the "insufficient privileges"
  4. how do I get it to go to sign-in page, then after sign-in go to the private folder?

thanks.

Try the portal_action method Guido suggested.