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.9 API

  • Overview
  • Tree
  • Deprecated
  • Version:
    • 2.9
      • 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
        • Acl
        • Auth
    • Core
    • Error
    • Event
    • I18n
    • Log
      • Engine
    • Model
      • Behavior
      • Datasource
        • Database
        • Session
      • Validator
    • Network
      • Email
      • Http
    • Routing
      • Filter
      • Route
    • TestSuite
      • Coverage
      • Fixture
      • Reporter
    • Utility
    • View
      • Helper
  • None

Classes

  • CacheHelper
  • FlashHelper
  • 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.

AppHelper
Extended by JsHelper
Package: Cake\View\Helper
Copyright: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
License: MIT License
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

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 and adds to buffer
  • _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

__construct() public ¶

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

Constructor - determines engine helper

Parameters
View $View
the view object the helper is attached to.
string|array $settings optional array()
Settings array contains name of engine helper.

_createVars() protected ¶

_createVars( )

Generates the object string for variables passed to javascript and adds to buffer

_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 , string|array $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.
string|array $url optional null
Mixed either a string URL or a CakePHP 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( string|array $one , string|array $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
string|array $one
Either an array of variables to set, or the name of the variable to set.
string|array $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'
Key name.
Returns
string
a JavaScript-safe/JSON representation of $val
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/js.html#JsHelper::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

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