Js(Javascript)
エンジン
Jsヘルパーは次の3種類のJavascriptライブラリから好きなライブラリを選んでエンジンとして使用できるようになりました。デフォルトはjQueryです。
- jQuery
- Prototype
- Mootools
エンジンの指定
コントローラで以下のように設定します。
var $helpers = array('Js' => array('Prototype'));
Javascriptライブラリの読み込み
Scriptタグ等でJavascriptライブラリを読み込む記述を行う必要があります。Htmlヘルパーで出力するのが簡単です。
echo $this->Html->script('jquery-1.4.2.min');
バッファ
出力はバッファされます。最後にwriteBufferメソッドを用いて出力します。linkやsubmitなどの場合はオプションの'buffer'キーにfalseをセットするとインラインで出力させる事もできます。
主なメソッド
- buffer ($script, $top = false)
- link ($title, $url = null, $options = array())
- object ($data = array(), $options = array())
- submit ($caption = null, $options = array())
- writeBuffer ($options = array())
get($()と同等)やeach、dragやsortableなどのメソッドは各エンジン用ヘルパーに実装されていますが、Jsヘルパーを通じて使う事が出来ます。
$this->Js->get('#element');
object
JSON形式に変換します。
object($data = array(), $options = array())
$options には'prefix','postfix'を指定できます。
link
Ajaxのリンクを出力します。
link($title, $url = null, $options = array())
$options には'confirm','id','htmlAttributes','buffer'を指定できます。さらにHtmlヘルパーのlinkメソッドのオプションとJsヘルパーのrequestメソッドのオプション(つまりAjaxリクエストのオプション)を指定する事もできます。
リクエスト結果をキャッシュさせたくない場合には'cache'キーにfalseをセットします。(jQueryの場合)
submit
submit ($caption = null, $options = array())
$options には'url','confirm','method','buffer'を指定できます。さらにHtmlヘルパーのsubmitメソッドのオプションとJsヘルパーのrequestメソッドのオプション(つまりAjaxリクエストのオプション)を指定する事もできます。