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リクエストのオプション)を指定する事もできます。

CakePHP Note (v1.3)

Index