Pages are simple dialogs (usually those that do not involve modification to data) that are displayed in the administrative interface. Examples are the Tools->JCR Queries and other pages under that section. A page consists of four parts -- the menu configuration, the module configuration, the class for handling events from the page and the HTML content for the page. In the following sample we will illustrate associating a page with a menu for selecting a featured book publisher from our list of publishers.
- Go to the Configuration->Menu section of the admin interface.
- Expand the books node and add an featuredPublisher content node under it. It may be easier to copy a page type node (example the JCR Queries menu node from the admin interface) and paste under the books node.
- Add/modify the i18nBasename property value to ucp.books.messages
- Add/modify the icon property value to /.resources/icons/16/dot.gif
- Add/modify the label property value to module.books.menu.featuredPublisher.label
- Add/modify the onclick property value to MgnlAdminCentral.showContent(‘/.magnolia/pages/featuredPublisherPage.html’); This maps to a /modules/books/pages/featuredPublisherPage node in our module.
- Go to the Configuration menu.
- Navigate to the /modules/books node.
- Add a pages folder node if it does not already exist.
- Add a featuredPublisher content node under the pages folder.
- Add a node data property named class with value ucp.books.cms.page.FeaturedPublisherPage
- View the base Page class.
- View the base SearchPage class.
- View the base FeaturedPage class.
- View the FeaturedPublisherPage implementation class.
Create the classes under the standard location for your project. In our system, we store the classes under the
The final component is a freemarker template HTML page which is used to display the user interface for the page. View the content of the template page. Note that you may have to download the file and view the raw source for the file.