今回はCakePHPでコントローラーやアクションごとにレイアウトを変更する方法を記載します。
簡単に言いますが、
CakePHPはWEBアプリケーションを高速に開発することができるPHPのフレームワークです。
CakePHPではデフォルトでレイアウトファイルが用意されています。
「default.ctp」がレイアウトのファイルになります。
全てのページで同じレイアウトを使用する場合はこのファイルを利用すればいいのですが、
ページごとそれぞれ別のレイアウトに変更したいといった場合があると思います。
コントローラーやアクション内でレイアウトを変更する時の指定方法を記述します。
まずは「/app/View/Layouts」ディレクトリに新しく使用するレイアウトファイルを作成。
例えば「sample.ctp」を作成したとします。
新しく作成したレイアウトを使用する場合、コントローラー側で下記のように記述すればOKです。
1 |
$this->layout = 'sample'; |
「sample.ctp」を使用することができます。
beforeFilter()に記述すればコントローラー内の全てのアクションで利用することができます。
コントローラー内の最初に指定してもOKです。その場合は下記のように記述します。
1 2 3 4 5 |
class PagesController extends AppController { public $layout = 'sample'; } |
また、アクションごとに指定することも可能です。
1 2 3 4 5 6 7 |
class PagesController extends AppController { public function index() { $this->layout = 'sample'; } } |
このようにすればページごとにレイアウトを別けて使用することができるようになります。
CakePHPでレイアウトを変更する際の参考になればと思います。
簡単な内容になってしまいましたが、開発メモとして残しておきます。
バージョンによって、記述が違うかもしれないです。今回は2系の説明でした。
アド・エータイプではCakePHPの他にもCodeIgniterやFuelPHPなどのフレームワークも利用して開発を行なっています。
今後も開発時のメモなどを記載していきたいと思います。
ホームページに関するお悩みは、仙台のホームページ制作アド・エータイプにお任せください!