Common page features
All page classes must extend Zend_Navigation_Page,
and will thus share a common set of features and properties. Most notably
they share the options in the table below and the same initialization
process.
Option keys are mapped to set methods. This means that
the option order maps to the method setOrder(),
and reset_params maps to the method
setResetParams(). If there is no setter method for
the option, it will be set as a custom property of the page.
Read more on extending Zend_Navigation_Page in
Creating custom page types.
Common page optionsKeyTypeDefaultDescriptionlabelStringNULLA page label, such as 'Home' or 'Blog'.idString | intNULL
An id tag/attribute that may be used when rendering
the page, typically in an anchor element.
classStringNULL
A CSS class that may be used when rendering the page,
typically in an anchor element.
titleStringNULL
A short page description, typically for using
as the title attribute in an anchor.
targetStringNULL
Specifies a target that may be used for the page,
typically in an anchor element.
accesskeyStringNULL
This attribute assigns an access key to an A element.
An access key is a single character from the document character set.
fragmentStringNULL
The fragment identifier (anchor identifier) pointing to
an anchor within a resource that is subordinate to another,
primary resource. The fragment identifier introduced by
a hash mark '#'.
Example: http://www.example.org/foo.html#bar
('bar' is the fragment identifier)
relArrayarray()
Specifies forward relations for the page.
Each element in the array is a key-value pair, where the
key designates the relation/link type, and the value is
a pointer to the linked page. An example of a key-value
pair is 'alternate' => 'format/plain.html'.
To allow full flexbility, there are no restrictions on
relation values. The value does not have to be a string.
Read more about rel and rev in
the
section on the Links helper..
revArrayarray()
Specifies reverse relations for the page. Works exactly
like rel.
orderString | int | NULLNULL
Works like order for elements in
Zend_Form. If specified,
the page will be iterated in a specific order, meaning
you can force a page to be iterated before others by
setting the order attribute to a low number,
e.g. -100. If a String is given, it must
parse to a valid int. If NULL
is given, it will be reset, meaning the order in which
the page was added to the container will be used.
resourceString | Zend_Acl_Resource_Interface
| NULLNULL
ACL resource to associate with the page. Read more in
the
section on ACL integration in view helpers..
privilegeString | NULLNULL
ACL privilege to associate with the page. Read more in
the
section on ACL integration in view helpers..
activeboolFALSE
Whether the page should be considered active for the
current request. If active is FALSE or not
given, MVC pages will check its properties against the
request object upon calling $page->isActive().
visibleboolTRUE
Whether page should be visible for the user, or just
be a part of the structure. Invisible pages are skipped
by view helpers.
pagesArray | Zend_Config |
NULLNULL
Child pages of the page. This could be an Array
or Zend_Config object containing either page
options that can be passed to the factory()
method, or actual Zend_Navigation_Page
instances, or a mixture of both.
Custom properties
All pages support setting and getting of custom properties by
use of the magic methods __set($name, $value),
__get($name), __isset($name) and
__unset($name). Custom properties may have any value,
and will be included in the array that is returned from
$page->toArray(), which means that pages
can be serialized/deserialized successfully even if the pages
contains properties that are not native in the page class.
Both native and custom properties can be set using
$page->set($name, $value) and retrieved using
$page->get($name), or by using magic methods.
Custom page properties
This example shows how custom properties can be used.
foo = 'bar';
$page->meaning = 42;
echo $page->foo;
if ($page->meaning != 42) {
// action should be taken
}
]]>