
【CakePHP2】アクションによってレイアウトファイルを変える方法
CakePHP2系統で、アクションによってレイアウトファイルを変更したい場合の書き方。
レイアウトファイルをアクションによって変えてみる
レイアウトファイル作成
レイアウトを変更したい場合は、まず、レイアウトファイルを作成する必要があるので、
app/View/Layouts/ 以下に、任意の名前で ctpファイルを作成します。
ガラケー用のサイトなんて流行らないとは思いますが、今回はガラケー用を想定した「keitai.ctp」というのを作ってみます。
アクションを編集
次に、HogesController.php に、以下のように記述。
対比のために、デフォルトの場合も書いてみました。
[php]
// デフォルトのレイアウトの場合
function nomal()
{
// htmlタイトル
$this->set('title_for_layout', 'レイアウトそのまま');
}
// "keitai"レイアウトを使用する場合
function layoutchange()
{
// レイアウトファイル切り替え
$this->layout = 'keitai';
// htmlタイトル
$this->set('title_for_layout', 'レイアウトを変える');
}
[/php]
これで、任意のレイアウトファイルを使うことが出来ます。
お手軽ですね。