\Cake\View\HelperBreadcrumbsHelper

BreadcrumbsHelper to register and display a breadcrumb trail for your views

Provides common methods and features.

Callback methods

Helpers support a number of callback methods. These callbacks allow you to hook into the various view lifecycle events and either modify existing view content or perform other application specific logic. The events are not implemented by this base class, as implementing a callback method subscribes a helper to the related event. The callback methods are as follows:

  • beforeRender(Event $event, $viewFile) - beforeRender is called before the view file is rendered.
  • afterRender(Event $event, $viewFile) - afterRender is called after the view file is rendered but before the layout has been rendered.
  • beforeLayout(Event $event, $layoutFile)` - beforeLayout is called before the layout is rendered.
  • afterLayout(Event $event, $layoutFile) - afterLayout is called after the layout has rendered.
  • beforeRenderFile(Event $event, $viewFile) - Called before any view fragment is rendered.
  • afterRenderFile(Event $event, $viewFile, $content) - Called after any view fragment is rendered. If a listener returns a non-null value, the output of the rendered file will be set to that.

Summary

Methods
Properties
Constants
setTemplates()
getTemplates()
templates()
formatTemplate()
templater()
__construct()
__call()
__get()
__set()
getView()
addClass()
implementedEvents()
initialize()
__debugInfo()
setConfig()
getConfig()
config()
configShallow()
add()
prepend()
insertAt()
insertBefore()
insertAfter()
getCrumbs()
reset()
render()
$helpers
$fieldset
$tags
$Url
No constants found
_confirm()
_cleanConfirmMessage()
_configRead()
_configWrite()
_configDelete()
findCrumb()
$_templater
$_defaultConfig
$_helperMap
$_View
$_config
$_configInitialized
$crumbs
N/A
No private methods found
No private properties found
N/A

Properties

$helpers

$helpers : array

Other helpers used by BreadcrumbsHelper.

Type

array

$fieldset

$fieldset : array

Unused.

Type

array

$tags

$tags : array

Unused.

Type

array

$Url

$Url : \Cake\View\Helper\UrlHelper

Type

\Cake\View\Helper\UrlHelper

$_defaultConfig

$_defaultConfig : array

Default config for the helper.

Type

array

$_helperMap

$_helperMap : array

A helper lookup table used to lazy load helper objects.

Type

array

$_View

$_View : \Cake\View\View

The View instance this helper is attached to

Type

\Cake\View\View

$_config

$_config : array

Runtime config

Type

array

$_configInitialized

$_configInitialized : boolean

Whether the config property has already been configured with defaults

Type

boolean

$crumbs

$crumbs : array

The crumb list.

Type

array

Methods

setTemplates()

setTemplates(array  $templates) : $this

Sets templates to use.

Parameters

array $templates

Templates to be added.

Returns

$this

getTemplates()

getTemplates(string|null  $template = null) : string|array

Gets templates to use or a specific template.

Parameters

string|null $template

String for reading a specific template, null for all.

Returns

string|array

templates()

templates(string|null|array  $templates = null) : $this|string|array

Gets/sets templates to use.

Parameters

string|null|array $templates

null or string allow reading templates. An array allows templates to be added.

Returns

$this|string|array

formatTemplate()

formatTemplate(string  $name, array  $data) : string

Formats a template string with $data

Parameters

string $name

The template name.

array $data

The data to insert.

Returns

string

__construct()

__construct(\Cake\View\View  $View, array  $config = array()) 

Default Constructor

Parameters

\Cake\View\View $View

The View this helper is being attached to.

array $config

Configuration settings for the helper.

__call()

__call(string  $method, array  $params) : void

Provide non fatal errors on missing method calls.

Parameters

string $method

Method to invoke

array $params

Array of params for the method.

__get()

__get(string  $name) : \Cake\View\Helper|null

Lazy loads helpers.

Parameters

string $name

Name of the property being accessed.

Returns

\Cake\View\Helper|null —

Helper instance if helper with provided name exists

__set()

__set(string  $name, mixed  $value) : void

Magic setter for removed properties.

Parameters

string $name

Property name.

mixed $value

Value to set.

getView()

getView() : \Cake\View\View

Get the view instance this helper is bound to.

Returns

\Cake\View\View

The bound view instance.

addClass()

addClass(array  $options = array(), string|null  $class = null, string  $key = 'class') : array

Adds the given class to the element options

Parameters

array $options

Array options/attributes to add a class to

string|null $class

The class name being added.

string $key

the key to use for class.

Returns

array —

Array of options with $key set.

implementedEvents()

implementedEvents() : array

Get the View callbacks this helper is interested in.

By defining one of the callback methods a helper is assumed to be interested in the related event.

Override this method if you need to add non-conventional event listeners. Or if you want helpers to listen to non-standard events.

Returns

array

initialize()

initialize(array  $config) : void

Constructor hook method.

Implement this method to avoid having to overwrite the constructor and call parent.

Parameters

array $config

The configuration settings provided to this helper.

__debugInfo()

__debugInfo() : array

Returns an array that can be used to describe the internal state of this object.

Returns

array

setConfig()

setConfig(string|array  $key, mixed|null  $value = null, boolean  $merge = true) : $this

Sets the config.

Usage

Setting a specific value:

$this->setConfig('key', $value);

Setting a nested value:

$this->setConfig('some.nested.key', $value);

Updating multiple config settings at the same time:

$this->setConfig(['one' => 'value', 'another' => 'value']);

Parameters

string|array $key

The key to set, or a complete array of configs.

mixed|null $value

The value to set.

boolean $merge

Whether to recursively merge or overwrite existing config, defaults to true.

Throws

\Cake\Core\Exception\Exception

When trying to set a key that is invalid.

Returns

$this

getConfig()

getConfig(string|null  $key = null, mixed  $default = null) : mixed

Returns the config.

Usage

Reading the whole config:

$this->getConfig();

Reading a specific value:

$this->getConfig('key');

Reading a nested value:

$this->getConfig('some.nested.key');

Reading with default value:

$this->getConfig('some-key', 'default-value');

Parameters

string|null $key

The key to get or null for the whole config.

mixed $default

The return value when the key does not exist.

Returns

mixed —

Config value being read.

config()

config(string|array|null  $key = null, mixed|null  $value = null, boolean  $merge = true) : mixed

Gets/Sets the config.

Usage

Reading the whole config:

$this->config();

Reading a specific value:

$this->config('key');

Reading a nested value:

$this->config('some.nested.key');

Setting a specific value:

$this->config('key', $value);

Setting a nested value:

$this->config('some.nested.key', $value);

Updating multiple config settings at the same time:

$this->config(['one' => 'value', 'another' => 'value']);

Parameters

string|array|null $key

The key to get/set, or a complete array of configs.

mixed|null $value

The value to set.

boolean $merge

Whether to recursively merge or overwrite existing config, defaults to true.

Throws

\Cake\Core\Exception\Exception

When trying to set a key that is invalid.

Returns

mixed —

Config value being read, or the object itself on write operations.

configShallow()

configShallow(string|array  $key, mixed|null  $value = null) : $this

Merge provided config with existing config. Unlike `config()` which does a recursive merge for nested keys, this method does a simple merge.

Setting a specific value:

$this->configShallow('key', $value);

Setting a nested value:

$this->configShallow('some.nested.key', $value);

Updating multiple config settings at the same time:

$this->configShallow(['one' => 'value', 'another' => 'value']);

Parameters

string|array $key

The key to set, or a complete array of configs.

mixed|null $value

The value to set.

Returns

$this

add()

add(string|array  $title, string|array|null  $url = null, array  $options = array()) : $this

Add a crumb to the end of the trail.

Parameters

string|array $title

If provided as a string, it represents the title of the crumb. Alternatively, if you want to add multiple crumbs at once, you can provide an array, with each values being a single crumb. Arrays are expected to be of this form:

  • title The title of the crumb
  • link The link of the crumb. If not provided, no link will be made
  • options Options of the crumb. See description of params option of this method.
string|array|null $url

URL of the crumb. Either a string, an array of route params to pass to Url::build() or null / empty if the crumb does not have a link.

array $options

Array of options. These options will be used as attributes HTML attribute the crumb will be rendered in (a

  • tag by default). It accepts two special keys:

    • innerAttrs: An array that allows you to define attributes for the inner element of the crumb (by default, to the link)
    • templateVars: Specific template vars in case you override the templates provided.
  • Returns

    $this

    prepend()

    prepend(string  $title, string|array|null  $url = null, array  $options = array()) : $this

    Prepend a crumb to the start of the queue.

    Parameters

    string $title

    If provided as a string, it represents the title of the crumb. Alternatively, if you want to add multiple crumbs at once, you can provide an array, with each values being a single crumb. Arrays are expected to be of this form:

    • title The title of the crumb
    • link The link of the crumb. If not provided, no link will be made
    • options Options of the crumb. See description of params option of this method.
    string|array|null $url

    URL of the crumb. Either a string, an array of route params to pass to Url::build() or null / empty if the crumb does not have a link.

    array $options

    Array of options. These options will be used as attributes HTML attribute the crumb will be rendered in (a

  • tag by default). It accepts two special keys:

    • innerAttrs: An array that allows you to define attributes for the inner element of the crumb (by default, to the link)
    • templateVars: Specific template vars in case you override the templates provided.
  • Returns

    $this

    insertAt()

    insertAt(integer  $index, string  $title, string|array|null  $url = null, array  $options = array()) : $this

    Insert a crumb at a specific index.

    If the index already exists, the new crumb will be inserted, and the existing element will be shifted one index greater. If the index is out of bounds, it will throw an exception.

    Parameters

    integer $index

    The index to insert at.

    string $title

    Title of the crumb.

    string|array|null $url

    URL of the crumb. Either a string, an array of route params to pass to Url::build() or null / empty if the crumb does not have a link.

    array $options

    Array of options. These options will be used as attributes HTML attribute the crumb will be rendered in (a

  • tag by default). It accepts two special keys:

    • innerAttrs: An array that allows you to define attributes for the inner element of the crumb (by default, to the link)
    • templateVars: Specific template vars in case you override the templates provided.
  • Throws

    \LogicException

    In case the index is out of bound

    Returns

    $this

    insertBefore()

    insertBefore(string  $matchingTitle, string  $title, string|array|null  $url = null, array  $options = array()) : $this

    Insert a crumb before the first matching crumb with the specified title.

    Finds the index of the first crumb that matches the provided class, and inserts the supplied callable before it.

    Parameters

    string $matchingTitle

    The title of the crumb you want to insert this one before.

    string $title

    Title of the crumb.

    string|array|null $url

    URL of the crumb. Either a string, an array of route params to pass to Url::build() or null / empty if the crumb does not have a link.

    array $options

    Array of options. These options will be used as attributes HTML attribute the crumb will be rendered in (a

  • tag by default). It accepts two special keys:

    • innerAttrs: An array that allows you to define attributes for the inner element of the crumb (by default, to the link)
    • templateVars: Specific template vars in case you override the templates provided.
  • Throws

    \LogicException

    In case the matching crumb can not be found

    Returns

    $this

    insertAfter()

    insertAfter(string  $matchingTitle, string  $title, string|array|null  $url = null, array  $options = array()) : $this

    Insert a crumb after the first matching crumb with the specified title.

    Finds the index of the first crumb that matches the provided class, and inserts the supplied callable before it.

    Parameters

    string $matchingTitle

    The title of the crumb you want to insert this one after.

    string $title

    Title of the crumb.

    string|array|null $url

    URL of the crumb. Either a string, an array of route params to pass to Url::build() or null / empty if the crumb does not have a link.

    array $options

    Array of options. These options will be used as attributes HTML attribute the crumb will be rendered in (a

  • tag by default). It accepts two special keys:

    • innerAttrs: An array that allows you to define attributes for the inner element of the crumb (by default, to the link)
    • templateVars: Specific template vars in case you override the templates provided.
  • Throws

    \LogicException

    In case the matching crumb can not be found.

    Returns

    $this

    getCrumbs()

    getCrumbs() : array

    Returns the crumb list.

    Returns

    array

    reset()

    reset() : $this

    Removes all existing crumbs.

    Returns

    $this

    render()

    render(array  $attributes = array(), array  $separator = array()) : string

    Renders the breadcrumbs trail.

    Parameters

    array $attributes

    Array of attributes applied to the wrapper template. Accepts the templateVars key to allow the insertion of custom template variable in the template.

    array $separator

    Array of attributes for the separator template. Possible properties are :

    • separator The string to be displayed as a separator
    • templateVars Allows the insertion of custom template variable in the template
    • innerAttrs To provide attributes in case your separator is divided in two elements. All other properties will be converted as HTML attributes and will replace the attrs key in the template. If you use the default for this option (empty), it will not render a separator.

    Returns

    string —

    The breadcrumbs trail

    _confirm()

    _confirm(string  $message, string  $okCode, string  $cancelCode = '', array  $options = array()) : string

    Returns a string to be used as onclick handler for confirm dialogs.

    Parameters

    string $message

    Message to be displayed

    string $okCode

    Code to be executed after user chose 'OK'

    string $cancelCode

    Code to be executed after user chose 'Cancel'

    array $options

    Array of options

    Returns

    string —

    onclick JS code

    _cleanConfirmMessage()

    _cleanConfirmMessage(string  $message) : mixed

    Returns a string read to be used in confirm()

    Parameters

    string $message

    The message to clean

    Returns

    mixed

    _configRead()

    _configRead(string|null  $key) : mixed

    Reads a config key.

    Parameters

    string|null $key

    Key to read.

    Returns

    mixed

    _configWrite()

    _configWrite(string|array  $key, mixed  $value, boolean|string  $merge = false) : void

    Writes a config key.

    Parameters

    string|array $key

    Key to write to.

    mixed $value

    Value to write.

    boolean|string $merge

    True to merge recursively, 'shallow' for simple merge, false to overwrite, defaults to false.

    Throws

    \Cake\Core\Exception\Exception

    if attempting to clobber existing config

    _configDelete()

    _configDelete(string  $key) : void

    Deletes a single config key.

    Parameters

    string $key

    Key to delete.

    Throws

    \Cake\Core\Exception\Exception

    if attempting to clobber existing config

    findCrumb()

    findCrumb(string  $title) : integer|null

    Search a crumb in the current stack which title matches the one provided as argument.

    If found, the index of the matching crumb will be returned.

    Parameters

    string $title

    Title to find.

    Returns

    integer|null —

    Index of the crumb found, or null if it can not be found.