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との比較までできるといいのだが。