Bake時に出力されるファイルのカスタマイズ第二弾(笑
またまた備忘録です。
前回は基本の部分を説明しました。
個人的には毎回使うヘルパーやコンポーネントを入れたりもしますが、
一番は「app_controller.php」や「app_model.php」でしょうか。
CakePHPにはある程度の機能はありますが、全ての機能が備わっているわけでもないですし
開発には必ず記述していることもあると思います。
そこに時間を費やしては無駄になってしまうので、あらかじめ利用するであろうコードを
記述しておけばBake後の作業が楽になるかと思います。
例えば「app_controller.php」には次のコードを記載しています。
function _setPageTile($string=NULL,$locale=true){ $title=($locale)?__($string,true):$string; $this->set('title_for_layout',$title); }
これはCakePHPの1.2系では次のコードをコントローラーの各アクションに記載することで
ページタイトル用の変数「$title_for_layout」へ自動的にセットされていましたが
CakePHP1.3系では無くなってしまったので、代用コードで利用しています。
$this->pageTitle=’タイトル名’;
ちなみにCakePHP1.2系から1.3系にアップグレードした場合,
「app_controller.php」に次のコードを記載すると
コードの変更をすること無く利用できるかと思います。
function afterFilter(){ if(isset($this->pageTitle) && !empty($this->pageTitle)){ $this->set('title_for_layout',__($this->pageTitle,true)); } }
※各コントローラーで「afterFilter()」が存在し、「parrent::afterFilter()」が
記述されていない場合は記述する必要があるので注意が必要です。