Zend Framework
LICENSE
This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to license@zend.com so we can send you a copy immediately.
Helper for printing <link> elements

array
$_RELATIONS= 'array(
self::RENDER_ALTERNATE => 'alternate''
Maps render constants to W3C link types
array(
self::RENDER_ALTERNATE => 'alternate'
Details
int
$_renderFlag= 'self::RENDER_ALL'
The helper's render flag
self::RENDER_ALL
Details
\Zend_Navigation_Container
$_root= ''
Root container
Used for preventing methods to traverse above the container given to the {@link render()} method.

__call(
string $method, array $arguments
=
array()
)
:
void
Magic overload: Proxy calls to {@link findRelation()} or container
Examples of finder calls:
// METHOD // SAME AS
$h->findRelNext($page); // $h->findRelation($page, 'rel', 'next')
$h->findRevSection($page); // $h->findRelation($page, 'rev', 'section');
$h->findRelFoo($page); // $h->findRelation($page, 'rel', 'foo');
Name | Type | Description |
---|---|---|
$method | string | method name |
$arguments | array | method arguments |
Exception | Description |
---|---|
\Zend_Navigation_Exception | if method does not exist in container |

_convertToPages(
mixed $mixed, bool $recursive
=
true
)
:
\Zend_Navigation_Page|array|null
Converts a $mixed value to an array of pages
Name | Type | Description |
---|---|---|
$mixed | mixed | mixed value to get page(s) from |
$recursive | bool | whether $value should be looped if it is an array or a config |
Type | Description |
---|---|
\Zend_Navigation_Page|array|null | empty if unable to convert |

_findFromProperty(
\Zend_Navigation_Page $page, string $rel, string $type
)
:
\Zend_Navigation_Page|array|null
Finds relations of given $type for $page by checking if the relation is specified as a property of $page
Name | Type | Description |
---|---|---|
$page | \Zend_Navigation_Page | page to find relations for |
$rel | string | relation, 'rel' or 'rev' |
$type | string | link type, e.g. 'start', 'next' |
Type | Description |
---|---|
\Zend_Navigation_Page|array|null | page(s), or null if not found |

_findFromSearch(
\Zend_Navigation_Page $page, string $rel, string $type
)
:
array|null
Finds relations of given $rel=$type for $page by using the helper to search for the relation in the root container
Name | Type | Description |
---|---|---|
$page | \Zend_Navigation_Page | page to find relations for |
$rel | string | relation, 'rel' or 'rev' |
$type | string | link type, e.g. 'start', 'next', etc |
Type | Description |
---|---|
array|null | array of pages, or null if not found |

_findRoot(
\Zend_Navigaiton_Page $page
)
:
\Zend_Navigation_Container
Returns the root container of the given page
When rendering a container, the render method still store the given container as the root container, and unset it when done rendering. This makes sure finder methods will not traverse above the container given to the render method.
Name | Type | Description |
---|---|---|
$page | \Zend_Navigaiton_Page | page to find root for |
Type | Description |
---|---|
\Zend_Navigation_Container | the root container of the given page |

findAllRelations(
\Zend_Navigation_Page $page, $flag
=
null
)
:
array
Finds all relations (forward and reverse) for the given $page
The form of the returned array:
// $page denotes an instance of Zend_Navigation_Page
$returned = array(
'rel' => array(
'alternate' => array($page, $page, $page),
'start' => array($page),
'next' => array($page),
'prev' => array($page),
'canonical' => array($page)
),
'rev' => array(
'section' => array($page)
)
);
Name | Type | Description |
---|---|---|
$page | \Zend_Navigation_Page | page to find links for |
$flag |
Type | Description |
---|---|
array | related pages |

findRelation(
\Zend_Navigation_Page $page, string $rel, string $type
)
:
\Zend_Navigaiton_Page|array|null
Finds relations of the given $rel=$type from $page
This method will first look for relations in the page instance, then by searching the root container if nothing was found in the page.
Name | Type | Description |
---|---|---|
$page | \Zend_Navigation_Page | page to find relations for |
$rel | string | relation, "rel" or "rev" |
$type | string | link type, e.g. 'start', 'next' |
Type | Description |
---|---|
\Zend_Navigaiton_Page|array|null | page(s), or null if not found |
Exception | Description |
---|---|
\Zend_View_Exception | if $rel is not "rel" or "rev" |

links(
\Zend_Navigation_Container $container
=
null
)
:
\Zend_View_Helper_Navigation_Links
View helper entry point: Retrieves helper and optionally sets container to operate on
Name | Type | Description |
---|---|---|
$container | \Zend_Navigation_Container | [optional] container to operate on |
Type | Description |
---|---|
\Zend_View_Helper_Navigation_Links | fluent interface, returns self |

render(
\Zend_Navigation_Container $container
=
null
)
:
string
Renders helper
Implements {@link Zend_View_Helper_Navigation_Helper::render()}.
Name | Type | Description |
---|---|---|
$container | \Zend_Navigation_Container | [optional] container to render. Default is to render the container registered in the helper. |
Type | Description |
---|---|
string | helper output |

renderLink(
\Zend_Navigation_Page $page, string $attrib, string $relation
)
:
string
Renders the given $page as a link element, with $attrib = $relation
Name | Type | Description |
---|---|---|
$page | \Zend_Navigation_Page | the page to render the link for |
$attrib | string | the attribute to use for $type, either 'rel' or 'rev' |
$relation | string | relation type, muse be one of; alternate, appendix, bookmark, chapter, contents, copyright, glossary, help, home, index, next, prev, section, start, stylesheet, subsection |
Type | Description |
---|---|
string | rendered link element |
Exception | Description |
---|---|
\Zend_View_Exception | if $attrib is invalid |

searchRelChapter(
\Zend_Navigation_Page $page
)
:
\Zend_Navigation_Page|array|null
Searches the root container for forward 'chapter' relations of the given $page
From {@link http://www.w3.org/TR/html4/types.html#type-links}: Refers to a document serving as a chapter in a collection of documents.
Name | Type | Description |
---|---|---|
$page | \Zend_Navigation_Page | page to find relation for |
Type | Description |
---|---|
\Zend_Navigation_Page|array|null | page(s) or null |

searchRelNext(
\Zend_Navigation_Page $page
)
:
\Zend_Navigation_Page|null
Searches the root container for the forward 'next' relation of the given $page
From {@link http://www.w3.org/TR/html4/types.html#type-links}: Refers to the next document in a linear sequence of documents. User agents may choose to preload the "next" document, to reduce the perceived load time.
Name | Type | Description |
---|---|---|
$page | \Zend_Navigation_Page | page to find relation for |
Type | Description |
---|---|
\Zend_Navigation_Page|null | page(s) or null |

searchRelPrev(
\Zend_Navigation_Page $page
)
:
\Zend_Navigation_Page|null
Searches the root container for the forward 'prev' relation of the given $page
From {@link http://www.w3.org/TR/html4/types.html#type-links}: Refers to the previous document in an ordered series of documents. Some user agents also support the synonym "Previous".
Name | Type | Description |
---|---|---|
$page | \Zend_Navigation_Page | page to find relation for |
Type | Description |
---|---|
\Zend_Navigation_Page|null | page or null |

searchRelSection(
\Zend_Navigation_Page $page
)
:
\Zend_Navigation_Page|array|null
Searches the root container for forward 'section' relations of the given $page
From {@link http://www.w3.org/TR/html4/types.html#type-links}: Refers to a document serving as a section in a collection of documents.
Name | Type | Description |
---|---|---|
$page | \Zend_Navigation_Page | page to find relation for |
Type | Description |
---|---|
\Zend_Navigation_Page|array|null | page(s) or null |

searchRelStart(
\Zend_Navigation_Page $page
)
:
\Zend_Navigation_Page|null
Searches the root container for the forward 'start' relation of the given $page
From {@link http://www.w3.org/TR/html4/types.html#type-links}: Refers to the first document in a collection of documents. This link type tells search engines which document is considered by the author to be the starting point of the collection.
Name | Type | Description |
---|---|---|
$page | \Zend_Navigation_Page | page to find relation for |
Type | Description |
---|---|
\Zend_Navigation_Page|null | page or null |

searchRelSubsection(
\Zend_Navigation_Page $page
)
:
\Zend_Navigation_Page|array|null
Searches the root container for forward 'subsection' relations of the given $page
From {@link http://www.w3.org/TR/html4/types.html#type-links}: Refers to a document serving as a subsection in a collection of documents.
Name | Type | Description |
---|---|---|
$page | \Zend_Navigation_Page | page to find relation for |
Type | Description |
---|---|
\Zend_Navigation_Page|array|null | page(s) or null |

searchRevSection(
\Zend_Navigation_Page $page
)
:
\Zend_Navigation_Page|null
Searches the root container for the reverse 'section' relation of the given $page
From {@link http://www.w3.org/TR/html4/types.html#type-links}: Refers to a document serving as a section in a collection of documents.
Name | Type | Description |
---|---|---|
$page | \Zend_Navigation_Page | page to find relation for |
Type | Description |
---|---|
\Zend_Navigation_Page|null | page(s) or null |

searchRevSubsection(
\Zend_Navigation_Page $page
)
:
\Zend_Navigation_Page|null
Searches the root container for the reverse 'section' relation of the given $page
From {@link http://www.w3.org/TR/html4/types.html#type-links}: Refers to a document serving as a subsection in a collection of documents.
Name | Type | Description |
---|---|---|
$page | \Zend_Navigation_Page | page to find relation for |
Type | Description |
---|---|
\Zend_Navigation_Page|null | page(s) or null |

setRenderFlag(
int $renderFlag
)
:
\Zend_View_Helper_Navigation_Links
Sets the helper's render flag
The helper uses the bitwise '&' operator against the hex values of the render constants. This means that the flag can is "bitwised" value of the render constants. Examples:
// render all links except glossary
$flag = Zend_View_Helper_Navigation_Links:RENDER_ALL ^
Zend_View_Helper_Navigation_Links:RENDER_GLOSSARY;
$helper->setRenderFlag($flag);
// render only chapters and sections
$flag = Zend_View_Helper_Navigation_Links:RENDER_CHAPTER |
Zend_View_Helper_Navigation_Links:RENDER_SECTION;
$helper->setRenderFlag($flag);
// render only relations that are not native W3C relations
$helper->setRenderFlag(Zend_View_Helper_Navigation_Links:RENDER_CUSTOM);
// render all relations (default)
$helper->setRenderFlag(Zend_View_Helper_Navigation_Links:RENDER_ALL);
Note that custom relations can also be rendered directly using the {@link renderLink()} method.
Name | Type | Description |
---|---|---|
$renderFlag | int | render flag |
Type | Description |
---|---|
\Zend_View_Helper_Navigation_Links | fluent interface, returns self |