Welcome to the Cookbook

loading...

7.4 HTML

CakePHP の HtmlHelper の役割は、HTML 関連のオプションの変更をより簡単に、より速く、より柔軟にすることです。このヘルパーを使用すると、アプリケーションがドメインのルートに関してどこに置かれているかについて、より明確になり、より柔軟になります。

HtmlHelper の役割は CakePHP 1.1 からかなり変わってしまっています。フォームに関するメソッドは非推奨となり、新しく FormHelper に移動しました。HTML フォームについてのヘルプを探している場合は、新しい FormHelper をチェックしてください。

HtmlHelper のメソッドを見る前に、いくつかの設定や使用状況について知っておく必要があります。はじめに、AUTO_OUTPUT と呼ばれるコア定数設定です。AUTO_OUTPUT がアプリケーション内のコア設定ファイル(/app/config/core.php) で true にセットされると、HtmlHelper は値を返さずに自動的にタグの内容を出力します。これはビューコード内でショートタグ (<?= ?>) あるいは多くの echo() 呼び出しを嫌う用にあります。$return パラメータを指定した関数を使用することでコア設定の内容を強制的に上書きすることができます。AUTO_OUTPUT の値に関係なく HtmlHelper に HTML コードを返して欲しい場合は、$return に true を設定してください。

多くの HtmlHelper のメソッドは $htmlAttributes パラメータも持っています。これを使用するとタグに特別な属性を付加することができます。ここでは $htmlAttributes パラメータの使用方法のいくつかの例を示します:

期待する属性: <tag class="someClass" />      
Array パラメータ: array('class'=>'someClass')
 
期待する属性: <tag name="foo" value="bar" />  
Array パラメータ:  array('name' => 'foo', 'value' => 'bar')
  1. 期待する属性: <tag class="someClass" />
  2. Array パラメータ: array('class'=>'someClass')
  3. 期待する属性: <tag name="foo" value="bar" />
  4. Array パラメータ: array('name' => 'foo', 'value' => 'bar')

デフォルトですべてのビューで HtmlHelper は有効になっています。HtmlHelper がないというエラーが表示される場合、通常は 手動で設定された $helpers コントローラ変数に名前がないということになります。