CakePHP1.2でbake(続き)

前回CakePHP1.2でbake - Do you CakePHP はてなbakeして自動生成されたファイルを呼び出してみる。

まず、自動生成したファイルへアクセスします。
URL例:http://localhost:8080/customers

デフォルトのレイアウトでデータの一覧が表示されます。この状態で、ページ切り替えはもちろん、登録されているデータの確認、編集、削除、新規データの追加が可能です。


bakeしたファイル/app/views/customers/index.ctpを編集してみます。
しかし、同じURLをリロードしてみても、画面表示は変わりません。(1.1のときのように拡張子がthtmlのファイルを置いてみてもそちらは呼び出されません)
そこで、Cake配下のindex.ctpを編集すると、変更が反映されました。scaffoldが設定されているので、/cake/libs/view/scaffolds/index.ctpが呼び出されているようです。


次にやってみたのは、customers_controller.phpの編集。
とりあえず検索の記述もせず、単純にindexの呼び出し部分のみを記述する

class CustomersController extends AppController {

	var $scaffold;
	var $name = 'Customers';
	var $uses = array('Customer');
// --この2行を追加--------------------------------->
	function index(){
	}
// ------------------------------------------------->
}

すると、(scaffoldがそのままでも)先ほど編集した/app/views/customers/index.ctpがviewとして呼び出される事が確認できました。(ただし、データ検索&set等をしてないのでエラーは出ます)

他のctpファイル(add,edit,view)もコントローラーに該当メソッドを追加することで、bake生成(+編集)したviewを呼び出せます。


paginator

cake1.2からページング機能paginatorが標準で入っている。bakeしたファイルではコレを呼び出す事になっているので、この辺りを解決しないとbakeしたctpファイルを生かせない。…というわけで、次回のお題は「paginator」をまとめたい。1.1のときに使ったpaginationとの比較までできるといいのだが。