2017年2月16日
CakePHP Viewのレイアウト設定方法
CakePHPでは、全体、コントローラごと、アクションごとに利用するViewのテンプレートを設定できる。
初期状態のままだと
app/View/Layouts/defauly.ctp
がセットされる。
デザインを変更する場合は、まず新しいctpを作成し
各アクション、各コントローラに新しいctp利用をセットする。
$this->layout = "********";
app/View/Layouts/の
********.ctpを読み込みます。
各コントローラのfunction内に記述すれば、そのfunctionで定義しているアクションが指定したレイアウトになります。
各コントローラのfunction beforeFilter()に記述すれば、そのコントローラ全体が指定したレイアウトになります。
AppController.phpのfunction beforeFilter()に記述すれば、サイト全体が指定したレイアウトになります。
ctpファイル内で別のctpファイルを呼び出すこともできます。
例えばヘッダー、フッター、サイドメニューなど。
<?php echo $this->element( 'header' ); ?>
各部品なので、
app/View/Elements/
に格納するのが一般的でしょうか?私はそうしている。
Elementsフォルダ内にさらに階層を設けて設定することも可能です。
以上。
コメントを書く