HOME>WEBプログラム覚書>CakePHPメモ2 コントローラ関連

CakePHPメモ2 コントローラ関連

CakePHPのコントローラーに関するメモ

テーマを設定する

管理者用URL/admin/以下のページには別のレイアウトを設定したい場合

app_controller.php

PHP

  1. <?php
  2. function beforeFilter()
  3. {
  4.     // /admin/以下にアクセスした場合にテーマを変更
  5.     if (preg_match('/^admin/', $this->params['url']['url'])) {
  6.         $this->view = 'Theme';//ThemeView クラスを使用するぞ宣言
  7.         $this->theme = 'admin';//デフォルトでadminテーマを使うぞ
  8.     }
  9. }
  10. ?>

テーマファイルは/app/views/themed/admin/以下に配置する。

コントローラーの整理

コントローラーなどをディレクトリで整理したい、 アプリケーション間で同じモデルを利用したい場合など app/config/bootstrap.phpで設定可能

Controller::set()

デフォルトのpages_controller.phpを見たらこんなコードがあった。

PHP

  1. <?php
  2. $this->set(compact('page', 'subpage', 'title'));
  3. ?>

compactはextract()の逆の動作するPHPの標準関数。こんなのあったんだ。

参照サイト

compact()の返り値は連想配列なのでController::set()は連想配列もOKなんですね。 見たらちゃんと書いてあるし。

PHP

  1. <?php
  2. $data = array(
  3. 'color' => 'pink',
  4. 'type' => 'sugar',
  5. 'base_price' => 23.95
  6. );
  7. //make $color, $type, and $basePrice
  8. //available to the view:
  9. $this->set($data);
  10. ?>
投稿日 2009年11月23日 01:31
カテゴリ PHP
タグ CakePHP
トラックバック URL http://www.kantenna.com/cgi-bin/mt504/mt-tb.cgi/1196

コメント

コメントする
Name
Email Address
URL