controller_page

Show a rsc as a HTML page.

This controller is used to show the HTML page of a resource. A “404 Not Found” or “410 Gone” page is shown if the requested page never existed or has been deleted.

The user will be redirected to the logon URL when the current user is not allowed to view the page.

This controller also adds a noindex response header when the page’s “seo_noindex” flag is set.

Example dispatch rule:

{page, ["page", id], controller_page, []}

Dispatch arguments

controller_page recognizes the following arguments inside the dispatch pattern:

Argument Description Example URL
id The id of the page (rsc) to be shown. This can be the numerical id or the unique name of a page. /page/12345

Dispatch options

The following options can be given to the dispatch rule:

Option Description Example
id Id or unique name of the resource to be shown. This overrules any id in the query arguments. {id, page_about}
template Name of the template to be rendered. Defaults to “page.tpl” {template, “about.tpl”}
cat The category the resource that is requested has to be. If a page of a different category is requested, a 404 is shown. {cat, text}
acl_action What ACL action will be checked. Defaults to ‘view’; but can also be ‘edit’ if users need edit permission on the rsc to be able to access the resource. {acl_action, edit}
acl Extra authorization checks to be performed. See ACL options.
is_canonical Whether this URL should be considered the caninical URL of the page. If so, the controller will redirect to the sc’s page path if set. Defaults to true. {is_canonical, false}

ACL options

Authorization checks to perform, in addition to the acl_action dispatch option, can be given in the acl dispatch option, and accepts the following options:

ACL option Description Example
is_auth Disable anonymous access to this resource. {acl, is_auth}
logoff Log out user before processing the request. {acl, logoff}
{Action, Resource} Check if user is allowed to perform Action on Resource. The example is equivalent to the options {acl_action, edit}, {id, my_named_page}. {acl, {edit, my_named_page}}
[{Action, Resource}] A list of checks to be performed, as above. {acl, [{view, secret_page}, {update, 345}]}

Table Of Contents

Previous topic

controller_oauth_request_token

Next topic

controller_postback

Versions

Actions