3.5.2.3 ページに関連した属性:$layoutと$pageTitle

CakePHPのコントローラー内には、レイアウト(layout)の中にビューをどうセットするかを制御する属性が、いくつかあります。

$layout属性には、/app/views/layouts内に保存されているレイアウトの名前を設定できます。$layoutの中に、レイアウトのファイル名から、.ctpという拡張子を除いたものを設定してください。この属性が定義されていない場合、CakePHPはデフォルトのレイアウトを表示(render)します。もし/app/views/layouts/default.ctpがない場合には、CakePHPのコアに含まれるデフォルトのレイアウトが表示されます。

<?php

#   $layoutで他のレイアウトを使用するよう定義する。

class RecipesController extends AppController {
    function quickSave() {
        $this->layout = 'ajax';
    }
}

?>
  1. <?php
  2. # $layoutで他のレイアウトを使用するよう定義する。
  3. class RecipesController extends AppController {
  4. function quickSave() {
  5. $this->layout = 'ajax';
  6. }
  7. }
  8. ?>

$pageTitleというコントローラーの属性を使うと、描画するページのタイトル(title)を設定できます。これが正しく動作するには、レイアウトの中、HTMLドキュメントの<title>タグの間に$title_for_layoutという変数を入れておく必要があります。

$pageTitleに、ドキュメントの<title>に表示させたい文字列を設定してください。