HTML
HTMLのタグを出力するためのヘルパー。但し、フォームに関するタグはFormヘルパーを使います。
主なメソッド
link ($title, $url=null, $options=array(), $confirmMessage=false)
リンク先は配列または文字列で指定します。$confirmMessageを指定するとクリック時にアラートを表示します。
$titleのエスケープ処理を行わないようにするには第三引数の'escape'キーをfalseにします。
echo $this->Html->link('add',array('controller'=>'posts','action'=>'add'));
image ($path, $options=array())
$pathはwebroot/imgからのパス。
echo $this->Html->image('header.png'),array('alt'=>'Header'));
画像にリンクを張る場合は、第二引数の'url'キーにリンク先を指定します。
echo $this->Html->image('addButton.png'),array( 'alt'=>'Add Post', 'url'=>array('controller'=>'posts','action'=>'add')));
レイアウトで使われる主なメソッド
通常これらのタグはレイアウトのheadタグに記述します。
meta ($type, $url=null, $options=array())
$typeに指定可能なキーワードと出力される値
- html(text/html)
- rss(application/rss+xml)
- atom(application/atom+xml)
- icon(image/x-icon)
css ($path, $rel=null, $options=array())
$pathはwebroot/cssからのパス。
script ($path, $options=array())
$pathはwebroot/cssからのパス。
インライン出力
cssやscriptなどのメソッドは通常インラインで出力します。特定のアクションでhead内へタグを出力させたい場合もあると思います。その場合には次のようにする事が出来ます。
- レイアウトで$scripts_for_layoutを出力するようにしておく(デフォルトでは既になっている)
- cssやscriptなどのメソッドを使用したいアクションのビューに記述する
- アクションのビューに記述する際にメソッドの$optionsの'inline'キーをfalseにする
こうすると記述したその場で出力されず、レイアウトに記述された$scripts_for_layoutの部分で出力させる事が出来ます。
レイアウトでの記述
<head> <?php echo $this->Html->charset(); ?> <title> <?php __('CakePHP: the rapid development php framework:'); ?> <?php echo $title_for_layout; ?> </title> <?php echo $this->Html->meta('icon'); echo $this->Html->css('cake.generic'); echo $scripts_for_layout; ?> </head>
アクションのビューでの記述
$this->Html->css('onlyAdd',array('inline'=>false));