The page directive is used to create views that provide a single url or page.
The page directive creates a new view class from a given template and/or class and registers it.
The name shows up in URLs/paths. For example
foo.html. This attribute is required unless you use the
page to create sub views. If you do not have
sub pages, it is common to use an extension for the view name
.html. If you do have sub pages and you want to
provide a view name, you shouldn't use extensions.
The permission needed to use the view.
By default, 'permission' only applies to viewing the view and any possible sub views. By specifying 'allowed_attributes', you can make the permission also apply to the extra attributes on the view object.
By default, 'permission' only applies to viewing the view and any possible sub views. By specifying this attribute, you can make the permission also apply to everything described in the supplied interface.
Multiple interfaces can be provided, separated by whitespace.
This refers to the attribute (method) on the view that is implementing a specific sub page.
A class that provides attributes used by the view.
A skin is composed of layers. It is common to put skin specific views in a layer named after the skin. If the 'layer' attribute is not supplied, it defaults to 'default'.
Many views are included in menus. It's convenient to name the menu in the page directive, rather than having to give a separate menuItem directive.
Refers to a file containing a page template (should end in
This attribute must be supplied if a menu attribute is supplied.
* = required