Package Home

Zend Framework 2 Documentation (Manual)

PHK Home

File: /modules/zend.navigation.pages.common.html

Size:15316
Storage flags:no_autoload,compress/gzip (30%)

Common page features — Zend Framework 2 2.4.2 documentation

Common page features

All page classes must extend Zend\Navigation\Page\AbstractPage, 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\AbstractPage in Creating custom page types.

Common page options
Key Type Default Description
label String NULL A page label, such as ‘Home’ or ‘Blog’.
fragment String | NULL NULL A 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)
id String | Integer NULL An id tag/attribute that may be used when rendering the page, typically in an anchor element.
class String NULL A CSS class that may be used when rendering the page, typically in an anchor element.
title String NULL A short page description, typically for using as the title attribute in an anchor.
target String NULL Specifies a target that may be used for the page, typically in an anchor element.
rel Array array() 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 flexibility, 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.
rev Array array() Specifies reverse relations for the page. Works exactly like rel.
order String | Integer | NULL NULL 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.
resource String | Zend\Permissions\Acl\Resource\ResourceInterface | NULL NULL ACL resource to associate with the page. Read more in the section on ACL integration in view helpers.
privilege String | NULL NULL ACL privilege to associate with the page. Read more in the section on ACL integration in view helpers.
active Boolean FALSE 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().
visible Boolean TRUE Whether page should be visible for the user, or just be a part of the structure. Invisible pages are skipped by view helpers.
pages Array | Zend\Config | NULL NULL 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\AbstractPage instances, or a mixture of both.

Note

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.

1
2
3
4
5
6
7
8
9
$page = new Zend\Navigation\Page\Mvc();
$page->foo     = 'bar';
$page->meaning = 42;

echo $page->foo;

if ($page->meaning != 42) {
    // action should be taken
}

Table Of Contents

This Page

Note: You need to stay logged into your GitHub account to contribute to the documentation.

Edit this document

Edit this document

The source code of this file is hosted on GitHub. Everyone can update and fix errors in this document with few clicks - no downloads needed.

  1. Login with your GitHub account.
  2. Go to Common page features on GitHub.
  3. Edit file contents using GitHub's text editor in your web browser
  4. Fill in the Commit message text box at the end of the page telling why you did the changes. Press Propose file change button next to it when done.
  5. On Send a pull request page you don't need to fill in text anymore. Just press Send pull request button.
  6. Your changes are now queued for review under project's Pull requests tab on GitHub.

For more information about the PHK package format: http://phk.tekwire.net