CakePHP
  • Documentation
    • Book
    • API
    • Videos
    • Reporting Security Issues
    • Privacy Policy
    • Logos & Trademarks
  • Business Solutions
  • Swag
  • Road Trip
  • Team
  • Community
    • Community
    • Get Involved
    • Issues (GitHub)
    • Bakery
    • Featured Resources
    • Training
    • Meetups
    • My CakePHP
    • CakeFest
    • Newsletter
    • Linkedin
    • YouTube
    • Facebook
    • Twitter
    • Mastodon
    • Help & Support
    • Forum
    • Stack Overflow
    • Slack
    • Paid Support
CakePHP

C CakePHP 2.0 API

  • Overview
  • Tree
  • Deprecated
  • Version:
    • 2.0
      • 4.2
      • 4.1
      • 4.0
      • 3.9
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

Packages

  • Cake
    • Cache
      • Engine
    • Configure
    • Console
      • Command
        • Task
    • Controller
      • Component
        • Auth
    • Core
    • Error
    • I18n
    • Log
      • Engine
    • Model
      • Behavior
      • Datasource
        • Database
        • Session
    • Network
      • Email
      • Http
    • Routing
      • Route
    • TestSuite
      • Coverage
      • Fixture
      • Reporter
    • Utility
    • View
      • Helper

Classes

  • AppHelper
  • CacheHelper
  • FormHelper
  • HtmlHelper
  • JqueryEngineHelper
  • JsBaseEngineHelper
  • JsHelper
  • MootoolsEngineHelper
  • NumberHelper
  • PaginatorHelper
  • PrototypeEngineHelper
  • RssHelper
  • SessionHelper
  • TextHelper
  • TimeHelper

Class JsHelper

Javascript Generator helper class for easy use of JavaScript.

JsHelper provides an abstract interface for authoring JavaScript with a given client-side library.

Object
Extended by Helper
Extended by AppHelper
Extended by JsHelper
Package: Cake\View\Helper
Copyright: Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
License: License (http://www.opensource.org/licenses/mit-license.php)
Location: Cake/View/Helper/JsHelper.php

Properties summary

  • $_bufferedScripts protected
    array
    Scripts that are queued for output
  • $_engineName protected
    string
    Current Javascript Engine that is being used
  • $_jsVars protected
    array
    Variables to pass to Javascript.
  • $bufferScripts public
    boolean
    Whether or not you want scripts to be buffered or output.
  • $helpers public
    array
    Helper dependencies
  • $setVariable public
    string
    The javascript variable created by set() variables.

Magic properties summary

  • $Form public
    FormHelper
  • $Html public
    HtmlHelper

Inherited Properties

  • _View, _association, _cleaned, _entityPath, _fieldSuffixes, _helperMap, _modelScope, _tainted, fieldset, plugin, request, tags, theme

Method Summary

  • __call() public

    call__ Allows for dispatching of methods to the Engine Helper. methods in the Engines bufferedMethods list will be automatically buffered. You can control buffering with the buffer param as well. By setting the last parameter to any engine method to a boolean you can force or disable buffering.

  • __construct() public
    Constructor - determines engine helper
  • _createVars() protected
    Generates the object string for variables passed to javascript.
  • _getHtmlOptions() protected

    Parse a set of Options and extract the Html options. Extracted Html Options are removed from the $options param.

  • buffer() public
    Write a script to the buffered scripts.
  • getBuffer() public
    Get all the buffered scripts
  • link() public

    Generate an 'Ajax' link. Uses the selected JS engine to create a link element that is enhanced with Javascript. Options can include both those for HtmlHelper::link() and JsBaseEngine::request(), JsBaseEngine::event();

  • set() public

    Pass variables into Javascript. Allows you to set variables that will be output when the buffer is fetched with JsHelper::getBuffer() or JsHelper::writeBuffer() The Javascript variable used to output set variables can be controlled with JsHelper::$setVariable

  • submit() public

    Uses the selected JS engine to create a submit input element that is enhanced with Javascript. Options can include both those for FormHelper::submit() and JsBaseEngine::request(), JsBaseEngine::event();

  • value() public

    Overwrite inherited Helper::value() See JsBaseEngineHelper::value() for more information on this method.

  • writeBuffer() public

    Writes all Javascript generated so far to a code block or caches them to a file and returns a linked script. If no scripts have been buffered this method will return null. If the request is an XHR(ajax) request onDomReady will be set to false. As the dom is already 'ready'.

Method Detail

__call() public ¶

__call( string $method , array $params )

call__ Allows for dispatching of methods to the Engine Helper. methods in the Engines bufferedMethods list will be automatically buffered. You can control buffering with the buffer param as well. By setting the last parameter to any engine method to a boolean you can force or disable buffering.

e.g. $js->get('#foo')->effect('fadeIn', array('speed' => 'slow'), true);

Will force buffering for the effect method. If the method takes an options array you may also add a 'buffer' param to the options array and control buffering there as well.

e.g. $js->get('#foo')->event('click', $functionContents, array('buffer' => true));

The buffer parameter will not be passed onto the EngineHelper.

Parameters
string $method
Method to be called
array $params
Parameters for the method being called.
Returns
mixed
Depends on the return of the dispatched method, or it could be an instance of the EngineHelper
Overrides
Helper::__call()

__construct() public ¶

__construct( View $View , array $settings = array() )

Constructor - determines engine helper

Parameters
View $View
the view object the helper is attached to.
array $settings optional array()
Settings array contains name of engine helper.
Overrides
Helper::__construct()

_createVars() protected ¶

_createVars( )

Generates the object string for variables passed to javascript.

Returns
string
Generated JSON object of all set vars

_getHtmlOptions() protected ¶

_getHtmlOptions( array $options , array $additional = array() )

Parse a set of Options and extract the Html options. Extracted Html Options are removed from the $options param.

Parameters
array $options
Options to filter.
array $additional optional array()
Array of additional keys to extract and include in the return options array.
Returns
array
Array of js options and Htmloptions

buffer() public ¶

buffer( string $script , boolean $top = false )

Write a script to the buffered scripts.

Parameters
string $script
Script string to add to the buffer.
boolean $top optional false

If true the script will be added to the top of the buffered scripts array. If false the bottom.

Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/js.html#JsHelper::buffer

getBuffer() public ¶

getBuffer( boolean $clear = true )

Get all the buffered scripts

Parameters
boolean $clear optional true
Whether or not to clear the script caches (default true)
Returns
array
Array of scripts added to the request.
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/js.html#JsHelper::getBuffer

link() public ¶

link( string $title , mixed $url = null , array $options = array() )

Generate an 'Ajax' link. Uses the selected JS engine to create a link element that is enhanced with Javascript. Options can include both those for HtmlHelper::link() and JsBaseEngine::request(), JsBaseEngine::event();

Options

  • confirm - Generate a confirm() dialog before sending the event.
  • id - use a custom id.
  • htmlAttributes - additional non-standard htmlAttributes. Standard attributes are class, id, rel, title, escape, onblur and onfocus.
  • buffer - Disable the buffering and return a script tag in addition to the link.
Parameters
string $title
Title for the link.
mixed $url optional null
Mixed either a string URL or an cake url array.
array $options optional array()
Options for both the HTML element and Js::request()
Returns
string
Completed link. If buffering is disabled a script tag will be returned as well.
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/js.html#JsHelper::link

set() public ¶

set( mixed $one , mixed $two = null )

Pass variables into Javascript. Allows you to set variables that will be output when the buffer is fetched with JsHelper::getBuffer() or JsHelper::writeBuffer() The Javascript variable used to output set variables can be controlled with JsHelper::$setVariable

Parameters
mixed $one
Either an array of variables to set, or the name of the variable to set.
mixed $two optional null
If $one is a string, $two is the value for that key.
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/js.html#JsHelper::set

submit() public ¶

submit( string $caption = null , array $options = array() )

Uses the selected JS engine to create a submit input element that is enhanced with Javascript. Options can include both those for FormHelper::submit() and JsBaseEngine::request(), JsBaseEngine::event();

Forms submitting with this method, cannot send files. Files do not transfer over XmlHttpRequest and require an iframe or flash.

Options

  • url The url you wish the XHR request to submit to.
  • confirm A string to use for a confirm() message prior to submitting the request.
  • method The method you wish the form to send by, defaults to POST
  • buffer Whether or not you wish the script code to be buffered, defaults to true.
  • Also see options for JsHelper::request() and JsHelper::event()
Parameters
string $caption optional null
The display text of the submit button.
array $options optional array()
Array of options to use. See the options for the above mentioned methods.
Returns
string
Completed submit button.
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/js.html#JsHelper::submit

value() public ¶

value( mixed $val = array() , boolean $quoteString = null , string $key = 'value' )

Overwrite inherited Helper::value() See JsBaseEngineHelper::value() for more information on this method.

Parameters
mixed $val optional array()
A PHP variable to be converted to JSON
boolean $quoteString optional null
If false, leaves string values unquoted
string $key optional 'value'
The name of the attribute to be set, defaults to 'value'
Returns
string
a JavaScript-safe/JSON representation of $val
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/js.html#JsHelper::value
Overrides
Helper::value()

writeBuffer() public ¶

writeBuffer( array $options = array() )

Writes all Javascript generated so far to a code block or caches them to a file and returns a linked script. If no scripts have been buffered this method will return null. If the request is an XHR(ajax) request onDomReady will be set to false. As the dom is already 'ready'.

Options

  • inline - Set to true to have scripts output as a script block inline if cache is also true, a script link tag will be generated. (default true)
  • cache - Set to true to have scripts cached to a file and linked in (default false)
  • clear - Set to false to prevent script cache from being cleared (default true)
  • onDomReady - wrap cached scripts in domready event (default true)
  • safe - if an inline block is generated should it be wrapped in (default true)
Parameters
array $options optional array()
options for the code block
Returns
mixed

Completed javascript tag if there are scripts, if there are no buffered scripts null will be returned.


Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/js.html#JsHelper::writeBuffer

Methods inherited from Helper

__get() public ¶

__get( string $name )

Lazy loads helpers. Provides access to deprecated request properties as well.

Parameters
string $name
Name of the property being accessed.
Returns
mixed
Helper or property found at $name

__set() public ¶

__set( string $name , mixed $value )

Provides backwards compatibility access for setting values to the request object.

Parameters
string $name
Name of the property being accessed.
mixed $value
Returns
mixed
Return the $value

_clean() protected ¶

_clean( )

Removes harmful content from output

_formatAttribute() protected deprecated ¶

_formatAttribute( string $key , string $value , boolean $escape = true )

Formats an individual attribute, and returns the string value of the composed attribute. Works with minimized attributes that have the same value as their name such as 'disabled' and 'checked'

Deprecated
This method will be moved to HtmlHelper in 3.0
Parameters
string $key
The name of the attribute to create
string $value
The value of the attribute to create.
boolean $escape optional true
Define if the value must be escaped
Returns
string
The composed attribute.

_initInputField() protected ¶

_initInputField( string $field , array $options = array() )

Sets the defaults for an input tag. Will set the name, value, and id attributes for an array of html attributes. Will also add a 'form-error' class if the field contains validation errors.

Parameters
string $field
The field name to initialize.
array $options optional array()
Array of options to use while initializing an input field.
Returns
array
Array options for the form input.

_name() protected ¶

_name( mixed $options = array() , string $field = null , string $key = 'name' )

Gets the input field name for the current tag. Creates input name attributes using CakePHP's data[Model][field] formatting.

Parameters
mixed $options optional array()

If an array, should be an array of attributes that $key needs to be added to. If a string or null, will be used as the View entity.

string $field optional null
string $key optional 'name'
The name of the attribute to be set, defaults to 'name'
Returns
mixed

If an array was given for $options, an array with $key set will be returned. If a string was supplied a string will be returned.


_parseAttributes() protected deprecated ¶

_parseAttributes( array $options , array $exclude = null , string $insertBefore = ' ' , string $insertAfter = null )

Returns a space-delimited string with items of the $options array. If a key of $options array happens to be one of:

  • 'compact'
  • 'checked'
  • 'declare'
  • 'readonly'
  • 'disabled'
  • 'selected'
  • 'defer'
  • 'ismap'
  • 'nohref'
  • 'noshade'
  • 'nowrap'
  • 'multiple'
  • 'noresize'

And its value is one of:

  • '1' (string)
  • 1 (integer)
  • true (boolean)
  • 'true' (string)

Then the value will be reset to be identical with key's name. If the value is not one of these 3, the parameter is not output.

'escape' is a special option in that it controls the conversion of attributes to their html-entity encoded equivalents. Set to false to disable html-encoding.

If value for any option key is set to null or false, that option will be excluded from output.

Deprecated
This method will be moved to HtmlHelper in 3.0
Parameters
array $options
Array of options.
array $exclude optional null
Array of options to be excluded, the options here will not be part of the return.
string $insertBefore optional ' '
String to be inserted before options.
string $insertAfter optional null
String to be inserted after options.
Returns
string
Composed attributes.

_reset() protected ¶

_reset( )

Resets the vars used by Helper::clean() to null

_selectedArray() protected ¶

_selectedArray( mixed $data , string $key = 'id' )

Transforms a recordset from a hasAndBelongsToMany association to a list of selected options for a multiple select element

Parameters
mixed $data
string $key optional 'id'
Returns
array

addClass() public ¶

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

Adds the given class to the element options

Parameters
array $options optional array()
Array options/attributes to add a class to
string $class optional null
The classname being added.
string $key optional 'class'
the key to use for class.
Returns
array
Array of options with $key set.

afterLayout() public ¶

afterLayout( string $layoutFile )

After layout callback. afterLayout is called after the layout has rendered.

Overridden in subclasses.

Parameters
string $layoutFile
The layout file that was rendered.

afterRender() public ¶

afterRender( string $viewFile )

After render callback. afterRender is called after the view file is rendered but before the layout has been rendered.

Overridden in subclasses.

Parameters
string $viewFile
The view file that was rendered.

assetTimestamp() public ¶

assetTimestamp( string $path )

Adds a timestamp to a file based resource based on the value of Asset.timestamp in Configure. If Asset.timestamp is true and debug > 0, or Asset.timestamp == 'force' a timestamp will be added.

Parameters
string $path
The file path to timestamp, the path must be inside WWW_ROOT
Returns
string
Path with a timestamp added, or not.

beforeLayout() public ¶

beforeLayout( string $layoutFile )

Before layout callback. beforeLayout is called before the layout is rendered.

Overridden in subclasses.

Parameters
string $layoutFile
The layout about to be rendered.

beforeRender() public ¶

beforeRender( string $viewFile )

Before render callback. beforeRender is called before the view file is rendered.

Overridden in subclasses.

Parameters
string $viewFile
The view file that is going to be rendered

clean() public ¶

clean( mixed $output )

Used to remove harmful tags from content. Removes a number of well known XSS attacks from content. However, is not guaranteed to remove all possibilities. Escaping content is the best way to prevent all possible attacks.

Parameters
mixed $output
Either an array of strings to clean or a single string to clean.
Returns
string|array
cleaned content for output

domId() public ¶

domId( mixed $options = null , string $id = 'id' )

Generates a DOM ID for the selected element, if one is not set. Uses the current View::entity() settings to generate a CamelCased id attribute.

Parameters
mixed $options optional null

Either an array of html attributes to add $id into, or a string with a view entity path to get a domId for.

string $id optional 'id'
The name of the 'id' attribute.
Returns
mixed

If $options was an array, an array will be returned with $id set. If a string was supplied, a string will be returned.


entity() public ¶

entity( )

Returns the entity reference of the current context as an array of identity parts

Returns
array
An array containing the identity elements of an entity

field() public ¶

field( )

Gets the currently-used model field of the rendering context. Strips off field suffixes such as year, month, day, hour, min, meridian when the current entity is longer than 2 elements.

Returns
string

model() public ¶

model( )

Gets the currently-used model of the rendering context.

Returns
string

output() public deprecated ¶

output( string $str )

Returns a string generated by a helper method

This method can be overridden in subclasses to do generalized output post-processing

Deprecated
This method will be removed in future versions.
Parameters
string $str
String to be output.
Returns
string

setEntity() public ¶

setEntity( mixed $entity , boolean $setScope = false )

Sets this helper's model and field properties to the dot-separated value-pair in $entity.

Parameters
mixed $entity
A field name, like "ModelName.fieldName" or "ModelName.ID.fieldName"
boolean $setScope optional false
Sets the view scope to the model specified in $tagValue

url() public ¶

url( mixed $url = null , boolean $full = false )

Finds URL for specified action.

Returns a URL pointing at the provided parameters.

Parameters
mixed $url optional null

Either a relative string url like /products/view/23 or an array of url parameters. Using an array for urls will allow you to leverage the reverse routing features of CakePHP.

boolean $full optional false
If true, the full base URL will be prepended to the result
Returns
string
Full translated URL with base path.
Link
http://book.cakephp.org/2.0/en/views/helpers.html

webroot() public ¶

webroot( string $file )

Checks if a file exists when theme is used, if no file is found default location is returned

Parameters
string $file
The file to create a webroot path to.
Returns
string
Web accessible path to file.

Methods inherited from Object

_mergeVars() protected ¶

_mergeVars( array $properties , string $class , boolean $normalize = true )

Merges this objects $property with the property in $class' definition. This classes value for the property will be merged on top of $class'

This provides some of the DRY magic CakePHP provides. If you want to shut it off, redefine this method as an empty function.

Parameters
array $properties
The name of the properties to merge.
string $class
The class to merge the property with.
boolean $normalize optional true
Set to true to run the properties through Set::normalize() before merging.

_set() protected ¶

_set( array $properties = array() )

Allows setting of multiple properties of the object in a single line of code. Will only set properties that are part of a class declaration.

Parameters
array $properties optional array()
An associative array containing properties and corresponding values.

_stop() protected ¶

_stop( integer|string $status = 0 )

Stop execution of the current script. Wraps exit() making testing easier.

Parameters
integer|string $status optional 0
see http://php.net/exit for values

dispatchMethod() public ¶

dispatchMethod( string $method , array $params = array() )

Calls a method on this object with the given parameters. Provides an OO wrapper for call_user_func_array

Parameters
string $method
Name of the method to call
array $params optional array()
Parameter list to use when calling $method
Returns
mixed
Returns the result of the method call

log() public ¶

log( string $msg , integer $type = LOG_ERROR )

Convenience method to write a message to CakeLog. See CakeLog::write() for more information on writing to logs.

Parameters
string $msg
Log message
integer $type optional LOG_ERROR
Error type constant. Defined in app/Config/core.php.
Returns
boolean
Success of log write

requestAction() public ¶

requestAction( mixed $url , array $extra = array() )

Calls a controller's method from any location. Can be used to connect controllers together or tie plugins into a main application. requestAction can be used to return rendered views or fetch the return value from controller actions.

Under the hood this method uses Router::reverse() to convert the $url parameter into a string URL. You should use URL formats that are compatible with Router::reverse()

Passing POST and GET data

POST and GET data can be simulated in requestAction. Use $extra['url'] for GET data. The $extra['data'] parameter allows POST data simulation.

Parameters
mixed $url

String or array-based url. Unlike other url arrays in CakePHP, this url will not automatically handle passed and named arguments in the $url parameter.

array $extra optional array()

if array includes the key "return" it sets the AutoRender to true. Can also be used to submit GET/POST data, and named/passed arguments.

Returns
mixed

Boolean true or false on success/failure, or contents of rendered action if 'return' is set in $extra.


toString() public ¶

toString( )

Object-to-string conversion. Each class can override this method as necessary.

Returns
string
The name of this class

Properties detail

$_bufferedScripts ¶

protected array

Scripts that are queued for output

See
JsHelper::buffer()
array()

$_engineName ¶

protected string

Current Javascript Engine that is being used

$_jsVars ¶

protected array

Variables to pass to Javascript.

See
JsHelper::set()
array()

$bufferScripts ¶

public boolean

Whether or not you want scripts to be buffered or output.

true

$helpers ¶

public array

Helper dependencies

array('Html', 'Form')

$setVariable ¶

public string

The javascript variable created by set() variables.

'app'

Magic properties detail

$Form ¶

public FormHelper

$Html ¶

public HtmlHelper
OpenHub
Rackspace
Rackspace
  • Business Solutions
  • Showcase
  • Documentation
  • Book
  • API
  • Videos
  • Reporting Security Issues
  • Privacy Policy
  • Logos & Trademarks
  • Community
  • Get Involved
  • Issues (GitHub)
  • Bakery
  • Featured Resources
  • Training
  • Meetups
  • My CakePHP
  • CakeFest
  • Newsletter
  • Linkedin
  • YouTube
  • Facebook
  • Twitter
  • Mastodon
  • Help & Support
  • Forum
  • Stack Overflow
  • Slack
  • Paid Support

Generated using CakePHP API Docs