API Documentation

Zend/View/Helper/Navigation/Links.php

Show: inherited
Table of Contents

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.

Category
Zend  
Copyright
Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)  
License
New BSD License  
Package
Zend_View  
Subpackage
Helper  
Version
$Id: Links.php 24594 2012-01-05 21:27:01Z matthew $  

\Zend_View_Helper_Navigation_Links

Package: Zend\View\Helper

Helper for printing <link> elements

Parent(s)
\Zend_View_Helper_Navigation_HelperAbstract < \Zend_View_Helper_HtmlElement < \Zend_View_Helper_Abstract
Category
Zend  
Copyright
Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)  
License
New BSD License  

Constants

Constant  RENDER_ALTERNATE = 0x0001
Constant  RENDER_STYLESHEET = 0x0002
Constant  RENDER_START = 0x0004
Constant  RENDER_NEXT = 0x0008
Constant  RENDER_PREV = 0x0010
Constant  RENDER_CONTENTS = 0x0020
Constant  RENDER_INDEX = 0x0040
Constant  RENDER_GLOSSARY = 0x0080
Constant  RENDER_COPYRIGHT = 0x0100
Constant  RENDER_CHAPTER = 0x0200
Constant  RENDER_SECTION = 0x0400
Constant  RENDER_SUBSECTION = 0x0800
Constant  RENDER_APPENDIX = 0x1000
Constant  RENDER_HELP = 0x2000
Constant  RENDER_BOOKMARK = 0x4000
Constant  RENDER_CUSTOM = 0x8000
Constant  RENDER_ALL = 0xffff

Properties

Propertyprotectedarray  $_RELATIONS= 'array( self::RENDER_ALTERNATE => 'alternate''
static

Maps render constants to W3C link types

Default valuearray( self::RENDER_ALTERNATE => 'alternate'Details
Type
array
Propertyprotectedint  $_renderFlag= 'self::RENDER_ALL'

The helper's render flag

Default valueself::RENDER_ALLDetails
Type
int
See
\render()  
See
\setRenderFlag()  
Propertyprotected\Zend_Navigation_Container  $_root= ''

Root container

Used for preventing methods to traverse above the container given to the {@link render()} method.

Details
Type
\Zend_Navigation_Container
See
\_findRoot()  

Methods

methodpublic__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');
Parameters
Name Type Description
$method string

method name

$arguments array

method arguments

Throws
Exception Description
\Zend_Navigation_Exception if method does not exist in container
methodprotected_convertToPages( mixed $mixed, bool $recursive = true ) : \Zend_Navigation_Page|array|null

Converts a $mixed value to an array of pages

Parameters
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

Returns
Type Description
\Zend_Navigation_Page|array|null empty if unable to convert
methodprotected_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

Parameters
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'

Returns
Type Description
\Zend_Navigation_Page|array|null page(s), or null if not found
methodprotected_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

Parameters
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

Returns
Type Description
array|null array of pages, or null if not found
methodprotected_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.

Parameters
Name Type Description
$page \Zend_Navigaiton_Page

page to find root for

Returns
Type Description
\Zend_Navigation_Container the root container of the given page
methodpublicfindAllRelations( \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)
    )
);
Parameters
Name Type Description
$page \Zend_Navigation_Page

page to find links for

$flag
Returns
Type Description
array related pages
methodpublicfindRelation( \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.

Parameters
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'

Returns
Type Description
\Zend_Navigaiton_Page|array|null page(s), or null if not found
Throws
Exception Description
\Zend_View_Exception if $rel is not "rel" or "rev"
methodpublicgetRenderFlag( ) : int

Returns the helper's render flag

Returns
Type Description
int render flag
methodpubliclinks( \Zend_Navigation_Container $container = null ) : \Zend_View_Helper_Navigation_Links

View helper entry point: Retrieves helper and optionally sets container to operate on

Parameters
Name Type Description
$container \Zend_Navigation_Container

[optional] container to operate on

Returns
Type Description
\Zend_View_Helper_Navigation_Links fluent interface, returns self
methodpublicrender( \Zend_Navigation_Container $container = null ) : string

Renders helper

Implements {@link Zend_View_Helper_Navigation_Helper::render()}.

Parameters
Name Type Description
$container \Zend_Navigation_Container

[optional] container to render. Default is to render the container registered in the helper.

Returns
Type Description
string helper output
methodpublicrenderLink( \Zend_Navigation_Page $page, string $attrib, string $relation ) : string

Renders the given $page as a link element, with $attrib = $relation

Parameters
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

Returns
Type Description
string rendered link element
Throws
Exception Description
\Zend_View_Exception if $attrib is invalid
methodpublicsearchRelChapter( \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.

Parameters
Name Type Description
$page \Zend_Navigation_Page

page to find relation for

Returns
Type Description
\Zend_Navigation_Page|array|null page(s) or null
methodpublicsearchRelNext( \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.

Parameters
Name Type Description
$page \Zend_Navigation_Page

page to find relation for

Returns
Type Description
\Zend_Navigation_Page|null page(s) or null
methodpublicsearchRelPrev( \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".

Parameters
Name Type Description
$page \Zend_Navigation_Page

page to find relation for

Returns
Type Description
\Zend_Navigation_Page|null page or null
methodpublicsearchRelSection( \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.

Parameters
Name Type Description
$page \Zend_Navigation_Page

page to find relation for

Returns
Type Description
\Zend_Navigation_Page|array|null page(s) or null
methodpublicsearchRelStart( \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.

Parameters
Name Type Description
$page \Zend_Navigation_Page

page to find relation for

Returns
Type Description
\Zend_Navigation_Page|null page or null
methodpublicsearchRelSubsection( \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.

Parameters
Name Type Description
$page \Zend_Navigation_Page

page to find relation for

Returns
Type Description
\Zend_Navigation_Page|array|null page(s) or null
methodpublicsearchRevSection( \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.

Parameters
Name Type Description
$page \Zend_Navigation_Page

page to find relation for

Returns
Type Description
\Zend_Navigation_Page|null page(s) or null
methodpublicsearchRevSubsection( \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.

Parameters
Name Type Description
$page \Zend_Navigation_Page

page to find relation for

Returns
Type Description
\Zend_Navigation_Page|null page(s) or null
methodpublicsetRenderFlag( 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.

Parameters
Name Type Description
$renderFlag int

render flag

Returns
Type Description
\Zend_View_Helper_Navigation_Links fluent interface, returns self
Documentation was generated by DocBlox 0.15.1.