PatternSkinCssCookbook Recipe: Hide action buttons

This recipe shows how to hide the action buttons for unauthorised and/or guest users: (Edit, Attach ...)

Note that the solutions in thic cookbook do not hide links to missing topics and unknown WikiWords.

Hide buttons for logged in, but unauthorized users

This is the recommended approach. Edit buttons will be visible for guests, and will be hidden if a logged in user does not have access. This is the most "friendly" approach in that a guest can click any button (for ex. edit or attach) and will be prompted to log in.

This line loads the extra style definition:
   * Set USERSTYLEURL = %PUBURLPATH%/%SYSTEMWEB%/PatternSkinCssCookbookHideActions/hideunauthaction.css

Hide buttons for guests, and for unauthorized users

This requires guests to find and click the login button to authenticate before the buttons become visible.

TIP Note: This is not a good way to prevent search engines from following edit links. The buttons are present, but are hidden using CSS.

This line loads the extra style definition:
   * Set USERSTYLEURL = %PUBURLPATH%/%SYSTEMWEB%/PatternSkinCssCookbookHideActions/hideguestaction.css

You can write this line in DefaultPreferences, in SitePreferences, in WebPreferences, in your user topic or on a single page.

Alternative CSS

Another option is to leave the buttons present, but disabled. The following CSS sets the opacity to 50%, and disables the button.
/* Hide action buttons for guests, and for logged in users without change permission */
.foswikiHasNoChangePermission.foswikiLoggedIn .foswikiRequiresChangePermission {
   pointer-events: none;
   cursor: default;
   opacity: 0.5;
  }
.foswikiHasNoChangePermission.foswikiGuest .foswikiRequiresChangePermission {
   pointer-events: none;
   cursor: default;
   opacity: 0.5;
  }
Topic revision: r1 - 2022/06/17, ProjectContributor
This site is powered by FoswikiCopyright © by the contributing authors. All material on this site is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback