CakePHP

CakePHP Bake後の出力をカスタマイズ[その2]

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()」が
記述されていない場合は記述する必要があるので注意が必要です。