layoutはbeforeRenderあたりで設定したほうがよい?このエントリをはてなブックマークに追加

2 月 14, 2009

私は大体cakephp使って携帯サイトを作ることが多いのですが、
そのときにlayoutはdefault.ctpは使わず、別layoutを作成して指定していたのですが、
アクションのエラー時にはdefault.ctpが使われるので、レンダリング前に$this->layoutで指定したほうがよさげ?

あとは普通にapp_controller.phpでlayoutを指定しておいてbeforeRenderで

<?php
function beforeRender() {
  if($this->name === "CakeError") $this->layout = "mobile";
}
?>

とかするのも微妙だよなーとか思ってて、こんなタイトルになった。
エラー周りについてはまた少し書くつもり。

とりあえずいまさらだけど、debugが0の場合はどのエラーの場合でもviews/errors/error404.ctpが使うことを知った!OTL

Categories: cakephp
Tags:

2 件のコメント »

このコメント欄の RSS フィードトラックバック URL

  1. はじめまして
    エラー時のレイアウトファイルは、下記のようにするとdefault.ctp以外も指定できますよ。参考になれば幸いです。
    http://d.hatena.ne.jp/cakephper/20080904/1220522532

    #コメントで入力したメールアドレスはダミーです。

    コメント by ichikaway(cakephper) — 2009 年 2 月 18 日 @ 5:57 PM

  2. > ichikaway様
    おー!なるほど!app_error作ってやる方法とは気がつきませんでした。
    情報ありがとうございます!

    コメント by musi — 2009 年 2 月 18 日 @ 10:54 PM

コメントをどうぞ