2009年11月6日金曜日

CakePHPで用意されている layout

CakePHPでは、コントローラでlayoutを指定すれば任意のlayoutを使うことができる。
通常layoutは自分で用意するが(たいていはdefalut.ctp)、いくつか組み込みのlayoutが用意されている。
それぞれどんな出力になるか試してみた。

なお、以下のサンプルで使っているviewの中身は下記の通り。

test


1. $this->layout = 'ajax' の場合の出力結果
test
<!-- 1.7983s -->


2. $this->layout = 'flash' の場合の出力結果
(コントローラ内で$this->flash('foo', 'bar');をセット済み)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>foo</title>

<style><!--
P { text-align:center; font:bold 1.1em sans-serif }
A { color:#444; text-decoration:none }
A:HOVER { text-decoration: underline; color:#44E }
--></style>
</head>
<body>
<p><a href="/test/bar">foo</a></p>
</body>
</html><!-- 1.6536s -->
詳細はよく分からないが、何かFlashのために便利なものなのだろう、きっと。


その他にjs、xml、rssというディレクトリが用意されているがそのままでは使えない。マニュアルを参考に自分でlayoutを作るようだ。(RSSの場合はこちら(Layout :: Controller Code :: Creating an RSS feed with the RssHelper :: RSS :: Core Helpers :: The Manual :: 1.2 Collection :: The Cookbook)をコピーすればすむかも。


参考:Layouts :: Views :: Developing with CakePHP :: The Manual :: 1.2 Collection :: The Cookbook

0 件のコメント:

ブログ アーカイブ

tags