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));

CakePHP Note (v1.3)

Index