ビューを更に考える (4/7)
作成:2010-02-17 16:07
更新:2010-05-10 19:13
更新:2010-05-10 19:13
■コントローラーを修正する
では、作成したレイアウトを使ってページを表示してみましょう。それには、コントローラーを修正し、使用するレイアウトを変更する必要があります。
下に掲載したように、sample_controller.phpを書き換えてください。ここでは、$layout = "sample"と設定することで、sampleレイアウトが使われるようにしています。
また、レイアウトではタイトルやヘッダー、フッターなどを、あらかじめ用意した変数を書き出して表示するようにしていました。indexアクションでは、これらの変数の用意も行っています。非常に面白いことに、アクションに対応するテンプレート(index.ctp)の読み込みや変数への設定などの処理は、まったく用意していません。これについては、CakePHPが自動的に処理してくれるようになっているのです。
下に掲載したように、sample_controller.phpを書き換えてください。ここでは、$layout = "sample"と設定することで、sampleレイアウトが使われるようにしています。
また、レイアウトではタイトルやヘッダー、フッターなどを、あらかじめ用意した変数を書き出して表示するようにしていました。indexアクションでは、これらの変数の用意も行っています。非常に面白いことに、アクションに対応するテンプレート(index.ctp)の読み込みや変数への設定などの処理は、まったく用意していません。これについては、CakePHPが自動的に処理してくれるようになっているのです。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
<?php
class SampleController extends AppController {
public $name = "Sample";
public $uses = null;
public $autoRender = true;
public $layout = "sample";
public $autoLayout = true;
function index(){
$this->set("page_title","Sample Page");
$this->set("content_header","Sample Page.");
$this->set("content_footer","copyright SYODA-Tuyano. 2010.");
}
function result(){
App::import("sanitize");
$input = $this->params['form']['input'];
$result = Sanitize::stripAll($input);
$this->set("result",$result); $this->set("page_title","Sample Page");
$this->set("content_header","Sample Page.");
$this->set("content_footer","copyright SYODA-Tuyano. 2010.");
}
}
※関連コンテンツ
「初心者のためのCakePHP 1.3 プログラミング入門」に戻る