Html Helper class for easy use of HTML widgets.
HtmlHelper encloses all methods needed while working with HTML pages.
$_crumbs
protected array
$_defaultConfig
protected array
$_docTypes
protected array
$_includedAssets
protected array
$_scriptBlockOptions
protected array
$helpers
public array
$response
public Cake\Network\Response
$Url
public <script>
tags depending on the number of scripts given. End a Buffered section of JavaScript capturing. Generates a script tag inline or appends to specified view block depending on the settings used when the scriptBlock was started
Begin a script block that captures output until HtmlHelper::scriptEnd() is called. This capturing block will capture all output between the methods and create a scriptBlock from it.
__construct( Cake\View\View $View , array $config [] )
Constructor
templates
Either a filename to a config containing templates. Or an array of templates to load. See Cake\View\StringTemplate for template formatting.Using the templates
option you can redefine the tag HtmlHelper will use.
Cake\View\View
$View
$config
optional [] Cake\View\Helper::__construct()
_nestedListItem( array $items , array $options , array $itemOptions )
Internal function to build a nested list (UL/OL) out of an associative array.
$items
$options
$itemOptions
_prepareCrumbs( string|array|boolean $startText , boolean $escape true )
Prepends startText to crumbs array if set
$startText
$escape
optional true _renderCells( array $line , boolean $useCount false )
Renders cells for a row of a table.
This is a helper method for tableCells(). Overload this method as you need to change the behavior of the cell rendering.
$line
$useCount
optional false addCrumb( string $name , string|array|null $link null , array $options [] )
Adds a link to the breadcrumbs array.
$name
$link
optional null $options
optional [] charset( string|null $charset null )
Returns a charset META-tag.
$charset
optional null The character set to be used in the meta tag. If empty, The App.encoding value will be used. Example: "utf-8".
css( string|array $path , array $options [] )
Creates a link element for CSS stylesheets.
Include one CSS file:
echo $this->Html->css('styles.css');
Include multiple CSS files:
echo $this->Html->css(['one.css', 'two.css']);
Add the stylesheet to view block "css":
$this->Html->css('styles.css', ['block' => true]);
Add the stylesheet to a custom block:
$this->Html->css('styles.css', ['block' => 'layoutCss']);
block
Set to true to append output to view block "css" or provide custom block name.once
Whether or not the css file should be checked for uniqueness. If true css files will only be included once, use false to allow the same css to be included more than once per request.plugin
False value will prevent parsing path as a pluginrel
Defaults to 'stylesheet'. If equal to 'import' the stylesheet will be imported.fullBase
If true the URL will get a full address for the css file.$path
The name of a CSS style sheet or an array containing names of CSS stylesheets. If $path
is prefixed with '/', the path will be relative to the webroot of your application. Otherwise, the path will be relative to your CSS path, usually webroot/css.
$options
optional [] <link />
or <style />
tag, depending on the type of link.div( string|null $class null , string|null $text null , array $options [] )
Returns a formatted DIV tag for HTML FORMs.
escape
Whether or not the contents should be html_entity escaped.$class
optional null $text
optional null String content that will appear inside the div element. If null, only a start tag will be printed
$options
optional [] docType( string $type 'html5' )
Returns a doctype string.
Possible doctypes:
$type
optional 'html5' getCrumbList( array $options [] , string|array|boolean $startText false )
Returns breadcrumbs as a (x)html list
This method uses HtmlHelper::tag() to generate list and its elements. Works similar to HtmlHelper::getCrumbs(), so it uses options which every crumb was added with.
separator
Separator content to insert in between breadcrumbs, defaults to ''firstClass
Class for wrapper tag on the first breadcrumb, defaults to 'first'lastClass
Class for wrapper tag on current active page, defaults to 'last'$options
optional [] $startText
optional false This will be the first crumb, if false it defaults to first crumb in array. Can also be an array, see HtmlHelper::getCrumbs
for details.
getCrumbs( string $separator '»' , string|array|boolean $startText false )
Returns the breadcrumb trail as a sequence of »-separated links.
If $startText
is an array, the accepted keys are:
text
Define the text/content for the link.url
Define the target of the created link.All other keys will be passed to HtmlHelper::link() as the $options
parameter.
$separator
optional '»' $startText
optional false This will be the first crumb, if false it defaults to first crumb in array. Can also be an array, see above for details.
image( string $path , array $options [] )
Creates a formatted IMG element.
This method will set an empty alt attribute if one is not supplied.
Create a regular image:
echo $this->Html->image('cake_icon.png', ['alt' => 'CakePHP']);
Create an image link:
echo $this->Html->image('cake_icon.png', ['alt' => 'CakePHP', 'url' => 'http://cakephp.org']);
url
If provided an image link will be generated and the link will point at $options['url']
.fullBase
If true the src attribute will get a full address for the image file.plugin
False value will prevent parsing path as a plugin$path
$options
optional [] implementedEvents( )
Event listeners.
Cake\View\Helper::implementedEvents()
link( string $title , string|array|null $url null , array $options [] )
Creates an HTML link.
If $url starts with "http://" this is treated as an external link. Else, it is treated as a path to controller/action and parsed with the UrlHelper::build() method.
If the $url is empty, $title is used instead.
escape
Set to false to disable escaping of title and attributes.escapeTitle
Set to false to disable escaping of title. Takes precedence over value of escape
)confirm
JavaScript confirmation message.$title
<a>
tags.$url
optional null Cake-relative URL or array of URL parameters, or external URL (starts with http://)
$options
optional [] <a />
element.media( string|array $path , array $options [] )
Returns an audio/video element
Using an audio file:
echo $this->Html->media('audio.mp3', ['fullBase' => true]);
Outputs:
<video src="http://www.somehost.com/files/audio.mp3">Fallback text</video>
Using a video file:
echo $this->Html->media('video.mp4', ['text' => 'Fallback text']);
Outputs:
<video src="/files/video.mp4">Fallback text</video>
Using multiple video files:
echo $this->Html->media( ['video.mp4', ['src' => 'video.ogv', 'type' => "video/ogg; codecs='theora, vorbis'"]], ['tag' => 'video', 'autoplay'] );
Outputs:
<video autoplay="autoplay"> <source src="/files/video.mp4" type="video/mp4"/> <source src="/files/video.ogv" type="video/ogv; codecs='theora, vorbis'"/> </video>
tag
Type of media element to generate, either "audio" or "video". If tag is not provided it's guessed based on file's mime type.text
Text to include inside the audio/video tagpathPrefix
Path prefix to use for relative URLs, defaults to 'files/'fullBase
If provided the src attribute will get a full address including domain name$path
Path to the video file, relative to the webroot/{$options['pathPrefix']} directory. Or an array where each item itself can be a path string or an associate array containing keys src
and type
$options
optional [] meta( string|array $type , string|array|null $content null , array $options [] )
Creates a link to an external resource and handles basic meta tags
Create a meta tag that is output inline:
$this->Html->meta('icon', 'favicon.ico');
Append the meta tag to custom view block "meta":
$this->Html->meta('description', 'A great page', ['block' => true]);
Append the meta tag to custom view block:
$this->Html->meta('description', 'A great page', ['block' => 'metaTags']);
Create a custom meta tag:
$this->Html->meta(['property' => 'og:site_name', 'content' => 'CakePHP']);
block
- Set to true to append output to view block "meta" or provide custom block name.$type
$content
optional null $options
optional [] Other attributes for the generated tag. If the type attribute is html, rss, atom, or icon, the mime-type is returned.
<link />
element.nestedList( array $list , array $options [] , array $itemOptions [] )
Build a nested list (UL/OL) out of an associative array.
Options for $options:
tag
- Type of list tag to use (ol/ul)Options for $itemOptions:
even
- Class to use for even rows.odd
- Class to use for odd rows.$list
$options
optional [] $itemOptions
optional [] para( string $class , string $text , array $options [] )
Returns a formatted P tag.
escape
Whether or not the contents should be html_entity escaped.$class
$text
$options
optional [] script( string|array $url , array $options [] )
Returns one or many <script>
tags depending on the number of scripts given.
If the filename is prefixed with "/", the path will be relative to the base path of your application. Otherwise, the path will be relative to your JavaScript path, usually webroot/js.
Include one script file:
echo $this->Html->script('styles.js');
Include multiple script files:
echo $this->Html->script(['one.js', 'two.js']);
Add the script file to a custom block:
$this->Html->script('styles.js', ['block' => 'bodyScript']);
block
Set to true to append output to view block "script" or provide custom block name.once
Whether or not the script should be checked for uniqueness. If true scripts will only be included once, use false to allow the same script to be included more than once per request.plugin
False value will prevent parsing path as a pluginfullBase
If true the url will get a full address for the script file.$url
$options
optional [] String of <script />
tags or null if block is specified in options or if $once is true and the file has been included before.
scriptBlock( string $script , array $options [] )
Wrap $script in a script tag.
safe
(boolean) Whether or not the $script should be wrapped in <![CDATA[ ]]>
. Defaults to false
.block
Set to true to append output to view block "script" or provide custom block name.$script
$options
optional [] The options to use. Options not listed above will be treated as HTML attributes.
$options['block']
scriptEnd( )
End a Buffered section of JavaScript capturing. Generates a script tag inline or appends to specified view block depending on the settings used when the scriptBlock was started
scriptStart( array $options [] )
Begin a script block that captures output until HtmlHelper::scriptEnd() is called. This capturing block will capture all output between the methods and create a scriptBlock from it.
safe
Whether the code block should contain a CDATAblock
Set to true to append output to view block "script" or provide custom block name.$options
optional [] style( array $data , boolean $oneLine true )
Builds CSS style data from an array of CSS properties
echo $this->Html->style(['margin' => '10px', 'padding' => '10px'], true); // creates 'margin:10px;padding:10px;'
$data
$oneLine
optional true tableCell( string $content , array $options [] )
Renders a single table cell (A TD with attributes).
$content
$options
optional [] tableCells( array|string $data , array|boolean|null $oddTrOptions null , array|boolean|null $evenTrOptions null , boolean $useCount false , boolean $continueOddEven true )
Returns a formatted string of table rows (TR's with TD's in them).
$data
$oddTrOptions
optional null $evenTrOptions
optional null $useCount
optional false $continueOddEven
optional true If false, will use a non-static $count variable, so that the odd/even count is reset to zero just for that call.
tableHeaders( array $names , array $trOptions null , array $thOptions null )
Returns a row of formatted and named TABLE headers.
$names
Array of tablenames. Each tablename also can be a key that points to an array with a set of attributes to its specific tag
$trOptions
optional null $thOptions
optional null tableRow( string $content , array $options [] )
Renders a single table row (A TR with attributes).
$content
$options
optional [] tag( string $name , string|null $text null , array $options [] )
Returns a formatted block tag, i.e DIV, SPAN, P.
escape
Whether or not the contents should be html_entity escaped.$name
$text
optional null String content that will appear inside the div element. If null, only a start tag will be printed
$options
optional [] __call( string $method , array $params )
Provide non fatal errors on missing method calls.
$method
$params
__debugInfo( )
Returns an array that can be used to describe the internal state of this object.
__get( string $name )
Lazy loads helpers.
$name
Cake\View\Helper
|null_confirm( string $message , string $okCode , string $cancelCode '' , array $options [] )
Returns a string to be used as onclick handler for confirm dialogs.
$message
$okCode
$cancelCode
optional '' $options
optional [] addClass( array $options [] , string|null $class null , string $key 'class' )
Adds the given class to the element options
$options
optional [] $class
optional null $key
optional 'class' getView( )
Get the view instance this helper is bound to.
Cake\View\View
initialize( array $config )
Constructor hook method.
Implement this method to avoid having to overwrite the constructor and call parent.
$config
formatTemplate( string $name , array $data )
Formats a template string with $data
$name
$data
getTemplates( string|null $template null )
Gets templates to use or a specific template.
$template
optional null setTemplates( array $templates )
Sets templates to use.
$templates
templater( )
Returns the templater instance.
Cake\View\StringTemplate
templates( string|null|array $templates null )
Gets/sets templates to use.
$templates
optional null null or string allow reading templates. An array allows templates to be added.
_configDelete( string $key )
Deletes a single config key.
$key
Cake\Core\Exception\Exception
_configRead( string|null $key )
Reads a config key.
$key
_configWrite( string|array $key , mixed $value , boolean|string $merge false )
Writes a config key.
$key
$value
$merge
optional false True to merge recursively, 'shallow' for simple merge, false to overwrite, defaults to false.
Cake\Core\Exception\Exception
config( string|array|null $key null , mixed|null $value null , boolean $merge true )
Gets/Sets the config.
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']);
$key
optional null $value
optional null $merge
optional true Cake\Core\Exception\Exception
configShallow( string|array $key , mixed|null $value null )
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->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']);
$key
$value
optional null getConfig( string|null $key null )
Returns the config.
Reading the whole config:
$this->getConfig();
Reading a specific value:
$this->getConfig('key');
Reading a nested value:
$this->getConfig('some.nested.key');
$key
optional null setConfig( string|array $key , mixed|null $value null , boolean $merge true )
Sets the config.
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']);
$key
$value
optional null $merge
optional true Cake\Core\Exception\Exception
protected array
Default config for this class
[ 'templates' => [ 'meta' => '<meta{{attrs}}/>', 'metalink' => '<link href="{{url}}"{{attrs}}/>', 'link' => '<a href="{{url}}"{{attrs}}>{{content}}</a>', 'mailto' => '<a href="mailto:{{url}}"{{attrs}}>{{content}}</a>', 'image' => '<img src="{{url}}"{{attrs}}/>', 'tableheader' => '<th{{attrs}}>{{content}}</th>', 'tableheaderrow' => '<tr{{attrs}}>{{content}}</tr>', 'tablecell' => '<td{{attrs}}>{{content}}</td>', 'tablerow' => '<tr{{attrs}}>{{content}}</tr>', 'block' => '<div{{attrs}}>{{content}}</div>', 'blockstart' => '<div{{attrs}}>', 'blockend' => '</div>', 'tag' => '<{{tag}}{{attrs}}>{{content}}</{{tag}}>', 'tagstart' => '<{{tag}}{{attrs}}>', 'tagend' => '</{{tag}}>', 'tagselfclosing' => '<{{tag}}{{attrs}}/>', 'para' => '<p{{attrs}}>{{content}}</p>', 'parastart' => '<p{{attrs}}>', 'css' => '<link rel="{{rel}}" href="{{url}}"{{attrs}}/>', 'style' => '<style{{attrs}}>{{content}}</style>', 'charset' => '<meta charset="{{charset}}"/>', 'ul' => '<ul{{attrs}}>{{content}}</ul>', 'ol' => '<ol{{attrs}}>{{content}}</ol>', 'li' => '<li{{attrs}}>{{content}}</li>', 'javascriptblock' => '<script{{attrs}}>{{content}}</script>', 'javascriptstart' => '<script>', 'javascriptlink' => '<script src="{{url}}"{{attrs}}></script>', 'javascriptend' => '</script>' ] ]
protected array
Document type definitions
[ 'html4-strict' => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">', 'html4-trans' => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">', 'html4-frame' => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">', 'html5' => '<!DOCTYPE html>', 'xhtml-strict' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">', 'xhtml-trans' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">', 'xhtml-frame' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">', 'xhtml11' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">' ]
protected array
Options for the currently opened script block buffer if any.
[]
public Cake\View\Helper\UrlHelper
© 2005–2017 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.4/class-Cake.View.Helper.HtmlHelper.html