プログラム開発の情報や、雑記を投稿しているサイトです。

CakePHPのレイアウトの変更

cakephp-template-change

CakePHPでは、デフォルトのテンプレートが設定されています。
基本的には、このデフォルトのテンプレートのまま使い続ける場合は少ないと思います。

本記事では、このデフォルトのテンプレートを、別のテンプレートに変更する場合の方法を説明いたします。

デフォルトのテンプレート置き場

CakePHPのデフォルトのレイアウトは、下記の場所にあるレイアウトを利用しています。
デフォルトレイアウトのディレクトリ

テンプレートの変更

レイアウトを変更するには、この場所に新しくレイアウトを作成し、各ファイルからこのレイアウトを指定することにより、変更することができます。

実際に、自分だけのレイアウトを作成してみましょう。
[Template]内の[Layout]フォルダ内に、[sample.ctp]という名前のファイルを作成します。

下記の場所に、各cssファイルが保存されています。
今回追加するcssファイルも、この場所に保存します。

今回作成するcssファイルは、[sample.css]としています。

テンプレート変更の実行画面

how-to-cakephp-layout

レイアウト設定

コントローラー全体に設定する場合

[highlight_php]
public function initialize()
{
parent::initialize();
$this->viewBuilder()->setLayout('simple');
}
[/highlight_php]

特定のアクションに設定する場合

[highlight_php]public function login()
{
$this->viewBuilder()->setLayout('simple');

if ($this->request->is('post')) {
$user = $this->Auth->identify();

if ($user) {
$this->Auth->setUser($user);
return $this->redirect($this->Auth->redirectUrl());
}
$this->Flash->error('ユーザー名またはパスワードが不正です。');
}
}[/highlight_php]

おススメ書籍


本書では「仕組み仕事術」に関しては、仕組み化・ルーティン化を行う為のテクニックについての内容になります。

ルーティン化できる作業は、ルーティン化し、無駄な思考を減らすことで、本当に必要な部分に時間を割くべきという考え方が学べます。

本書はとても読みやすく、こちらも非常にオススメの書籍です。


本書は、ビジネスフレームワークを豊富な文章から解説しています。

図などは、上記の書籍と比較すると少ない印象ですが、その分読みごたえは十分かと思います。

実践的な内容が好きな方には、本書の構成は気に入ると思います。