[All Adaptavist Apps]
The builder-hide macro is
Excerpt |
---|
used to hide content within panels only in specific contexts, modes and other filters |
Code Block |
---|
{builder-hide:mode=view|context=page|label=meetings|metadata=mykey:myvalue}
stuff to hide
{builder-hide}
|
...
Note:
Some parameters, marked "Theme Only", can only be used within Builder theme panels, ie. you cannot use them within pages, etc.
The "Ver" column shows which version of Theme Builder the parameter became available in.
Property | Required | Default | Notes | Theme Panels Only | Ver |
---|---|---|---|---|---|
decorator | all decorators | n/a | Only hide the content when a specific decorator us being used, eg. "printable", etc. |
| |
action | n/a | Only hide the content for specific action(s), eg. "viewpage". NB: The ".action" part of the action name should not be included. | 3.0 | ||
context | all contexts | n/a | Only hide the content for specific context(s), eg. "page", "global", etc. |
| |
mode | all modes | Only hide the content for specific modes, eg. "view", "edit", etc. |
| ||
space | n/a | Only hide the content if a specific space (referred to by the Space Key) exists. |
|
| |
spacekey | current space | The space against which permission checks will be made. Default is current space. |
|
| |
pagetitle | current page | the page against which permission checks will be made. Default is current page |
|
| |
page | n/a | Only hide the content if a specific page (referred to by the page title) exists. @parent can be used to hide data if the page is not at the root level, @child can be used to hide data if the page has children. |
|
| |
pluginkey | n/a | The key of a plugin which must be enabled for the content to be shown |
|
| |
title | n/a | Only hide the content if the current page has a specific title |
|
| |
label | n/a | Only hide the content if the the current location (page, news, etc) has the specified label(s), eg. "my:favourite", "meetings", etc. |
|
| |
spacelabel | n/a | Only hide the content if the the current space has the specified label(s), eg. "meetings", etc. |
|
| |
teamlabel | n/a | Only hide the content if the the current space has the specified team label(s), eg. "sales,marketing", etc. |
|
| |
metadata | n/a | Metadata associated with the current location in the frormatformat: "myKey1:myValue1, myKey1:myValue1, etc". when checking for a key with a specific value. To check for the existance of metadata with any value supply a commas separated list of key names, eg: "mykey1, mykey2, mykey3" or mix & match "mykey1, mykey2:myvalue2" |
|
| |
user | n/a | Matches against the current user (NB: modified by withuser) - A comma separated list of usernames. Use |
| 3.0 | |
withuser | @current | username that user/group/permission checks should be run against. This includes @anonymous, @creator, @author, @current |
| 3.2.2 | |
group | n/a | A comma separated list of user groups that the current user (NB: modified by withuser) should be a member of |
| 3.0 | |
permission | n/a | A comma separated list of permissions:
|
| 3.0 | |
recurse | false | Should parent pages (if applicable) be checked for title, labels and metadata?
|
| 3.0 | |
restriction | n/a | hide content if the page has a restriction in place (none/view/edit/vieworedit/viewandedit - recursable) |
| 3.0 | |
useragent | n/a | A comma separated list of tokens to match against the user agent string of the requesting browser. | 3.2.1 | ||
attachment | n/a | comma separated list of filenames, one of which must be attached to the current page for the content to be hidden. | 3.2.2 | ||
olderthan | n/a | Content is hidden if the current page was modified before the given time period from the current date. The date is shown in this format: olderthan=1y6m1d1h (year/month/day/hour) |
| 3.3.0 | |
newerthan | n/a | Content is hidden if the current page was modified after the given time period from the current date. The date is shown in this format: newerthan=1y6m1d1h (year/month/day/hour) |
| 3.3.0 | |
flag |
| Content is hidden if one or more of the specified flags are set. See Working with Flags for more details. | 3.3.6 | ||
notflag |
| Content is hidde if none of the specified flags are set. See Working with Flags for more details. | 3.3.6 |
While none of the parameters are mandatory, you must specify at least one of them for this macro to work.
You can specify multiple values for any parameter, for example:
Code Block |
---|
{builder-hide:mode=view,edit|context=page,blogpost}
stuff to hide
{builder-hide}
|
...
You can determine the context and mode for any page by viewing the page source using your browser. A HTML comment output at the top of all pages hides the context and mode for each page.
Expand | ||||
---|---|---|---|---|
| ||||
If you view the HTML source of this web page you'll see the following:
|
You can specify multiple contexts and modes by separating them with commas as hiden in the usage example earlier. For the macro content to hide, all contexts and modes specified must match.
Some common contexts and modes are listed below, along with the associated menulink macro settings to create links to them.
All of these modes have a context of page and apply when working with content pages (including the Space home page):
Mode | Notes | Menulink |
---|---|---|
view | Normal view of a page, including when adding comments to a page |
|
edit | Edit view of an existing page (see space-pages context for details of adding or copying pages). |
|
view-attachments | Viewing attachments on a page. |
|
view-information | Displaying page information. |
|
This mode relates to the view of recent blogposts in a space:
Mode | Notes | Menulink |
---|---|---|
view-blogposts | List of recent blogposts in a space. |
|
All of these modes have a context of space-labels and relate to the label views within spaces.
Mode | Notes | Menulink |
---|---|---|
view-labels-popular | View popular labels |
|
view-labels-all | View all labels |
|
This mode applies to the index of attachments within a space:
Mode | Notes | Menulink |
---|---|---|
view-attachments | Index of space attachments. |
|
All space administration pages have a single mode as far as we can tell:
Mode | Notes | Menulink |
---|---|---|
view-space-administration | Any page within space admin area, regardless of whether you are viewing or editing, etc. |
|
All of these modes have a context of space-pages and apply to standard space features such as the alphabetical index and site map.
Mode | Notes | Menulink |
---|---|---|
create-page | Applies when creating a new page or copying an existing page. |
|
list-recently-updated | List of recently updated pages. |
|
list-alphabetically | Alphabetical page index. |
|
list-content-tree | Site map (i.e. pages tree view). |
|
These modes relate to global (outside a space) locations:
Mode | Notes | Menulink |
---|---|---|
rss | RSS Feed Builder |
|
more to follow
...
Expand | ||||
---|---|---|---|---|
| ||||
|
...
|
...
|
...
Expand | ||||
---|---|---|---|---|
|
...
| |
|
...
|
...
Expand | ||||
---|---|---|---|---|
|
...
| |
|
...
|
...
|
Expand | ||||
---|---|---|---|---|
| ||||
|
...
|
...
|
Expand | ||||
---|---|---|---|---|
| ||||
|
...
|
Expand | ||||
---|---|---|---|---|
|
...
| |
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
Expand | ||||
---|---|---|---|---|
|
...
| |
|
...
|
...
|
...
|
...
...
|
...
|
...
|
Expand | ||||
---|---|---|---|---|
|
...
| |
|
...
|
...
|
...
|
...
|
...
|
In the example hiden above, we only include the page if it exists. This hides the nasty error message that the include macro generates if that page does not exist. While it might seem a little strange to only hide things if a specific page exists (especially considering you know the title of that page), it's extremely useful in scenarios where you are using templates and only want to hide content or links if a specific page exists within the current space.
|
Expand | ||||
---|---|---|---|---|
| ||||
|
Expand | ||||
---|---|---|---|---|
|
...
| |
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
OK, you might not want to be that harsh in explaining to users that "Meeting" isn't a great page title and that they should use something more descriptive, but you get the general idea.
|
...
|
...
|
...
Expand | ||||
---|---|---|---|---|
|
...
|
...
| ||
|
Expand | ||||
---|---|---|---|---|
| ||||
|
Not applicable for this macro.
...
You can use this macro, and the associated builder-hide show macro to customise navigation and panel content depending on what the user is looking at.
When using either the mode, context or context decorator parameters, remember that they only work if used within a panel of the Builder theme. If you put them inside a normal page, etc., they won't work. Even if you use the move-to macro to move something from a page in to a panel, it still won't work - the mode, context and decorator settings will only work if the macro is actually in the panel notation in the theme cofiguration settings.
If you need to hide show or hide content based on the privileges within a space, use the hide-if or hide-if macros that be found in the Visibility Pluginwith more complex conditions, there are extra aliases builder-hide2 -> builder-hide9 which may be used for nesting.
Multiple conditions are combined in AND mode, so all of the applied conditions need to be true for the content to be hidden.
To apply conditions in an OR mode you should use several copies of the hide macro, each with separate conditions.
None at present.