基本
CakePHPでContorllerを使うまでもないページ(静的な表示が中心のページ)を作りたい場合、pagesを使うと便利。
(例:サイトの紹介ページ、利用規約、などなど。)
views/pagesの中にxxxx.ctpというファイル名でVIEWテンプレートを入れておけば、/pages/xxxx というURLでアクセスできる。
Controllerは作成しなくてOK。
(config/routes.phpに下記設定があるため。PagesControllerはCakeの標準機能として装備されている。)
Router::connect('/pages/*', array('controller' => 'pages', 'action' => 'display'));このpages内のVIEWテンプレートにもlayoutsは適用される。
タイトルタグをセットする
VIEWテンプレート内で、<?php $this->pageTitle = 'タイトル' ?> とすればタイトルタグをセットできる。
pagesからModelを呼び出す
pagesのVIEWテンプレートの中でimportする。
App::import('Model', 'Member');後は普通のPHPクラスと同じようにnewすれば使えた。
セキュリティ上の注意
デフォルトでは /pages/home というURLで内部情報を表示してしまう。
pagesを使わない場合は、config/routes.phpのpagesへの設定を削除すればOK。
pagesを使う場合は、view/pagesにhome.ctpを作ればとりあえず害は無くなる。
参考:
CakePHP 静的なページの作成方法 | Sun Limited Mt.
CakePHP 公開する時はデバッグ情報を出さない | Shin x blog
0 件のコメント:
コメントを投稿