Customizing Views of Page Properties customizing-views-of-page-properties
Every page has a set of properties that can be viewed and edited by users; some are required when creating the page (create view), others can be viewed and edited (edit view) at a later stage. These page properties are defined and made available by the dialog ( cq:dialog
) of the appropriate page component.
The default state for every page property is:
-
hidden in the create view (for example, Create Page wizard)
-
available in the edit view (for example, View Properties)
Fields must be specifically configured if any change is required. This is done using the appropriate node properties:
-
Page property to be available in the create view (for example, Create Page wizard):
- Name:
cq:showOnCreate
- Type:
Boolean
- Name:
-
Page property to be available in the edit view (for example, View/Edit) Properties option):
- Name:
cq:hideOnEdit
- Type:
Boolean
- Name:
For example, see the settings for fields grouped under the More Titles and Description on the Basic tab for the foundation Page component. These are visible in the Create Page wizard as cq:showOnCreate
has been set to true
:
/libs/foundation/components/page/cq:dialog/content/items/tabs/items/basic/items/column/items/moretitles
Configuring your Page Properties configuring-your-page-properties
You can also configure the fields available by configuring the dialog of your page component and applying the appropriate node properties.
For example, by default the Create Page wizard shows the fields grouped under More Titles and Description. To hide these you configure:
-
Create your page component under
/apps
. -
Create an override (using dialog diff provided by the Sling Resource Merger) for the
basic
section of your page component; for example:code language-xml <your-page-component>/cq:dialog/content/items/tabs/items/basic
note note NOTE As reference, see: /libs/wcm/foundation/components/basicpage/v1/basicpage/cq:dialog
However, you must not change anything in the /libs
path.This is because the content of /libs
is overwritten the next time you upgrade your instance (and may well be overwritten when you apply either a hotfix or feature pack).The recommended method for configuration and other changes is: - Recreate the required item (that is, as it exists in
/libs
) under/apps
- Make any changes within
/apps
- Recreate the required item (that is, as it exists in
-
Set the
path
property onbasic
to point to the override of the basic tab (see the next step as well). For example:code language-xml /apps/demos/components/page/tabs/basic
-
Create an override of the
basic
-moretitles
section at the corresponding path; for example:code language-xml /apps/demos/components/page/tabs/basic/items/column/items/moretitles
-
Apply the appropriate node property:
- Name:
cq:showOnCreate
- Type:
Boolean
- Value:
false
The More Titles and Description section will no longer be shown in the Create Page wizard.
- Name:
Sample Configuration of Page Properties sample-configuration-of-page-properties
This sample demonstrates the dialog diff technique of the Sling Resource Merger; including use of sling:orderBefore
. It also illustrates use of both cq:showOnCreate
and cq:hideOnEdit
.
CODE ON GITHUB
You can find the code of this page on GitHub