Ada beberapa atribut di controller CakePHP yang memberikan anda kontrol bagaimana views anda diset didalam sebuah layout.

Atribut $layout dapat diset dengan nama dari layout yang disimpan di dalam /app/views/layouts. Anda dapat menentukan sebuah layout dengan menset $layout sesuai dengan nama berkas (file) layout, tanpa ekstensi .ctp. Jika atribut ini tidak didefinisikan, maka CakePHP akan merender layout default, default.ctp. Jika anda belum membuat file layout default di /app/views/layouts/default.ctp, maka layout default dari inti CakePHP-lah yang akan dirender.

<?php

//   Menggunakan $layout untuk mendefinisikan layout alternatif

class RecipesController extends AppController {
    function quickSave() {
        $this->layout = 'ajax';
    }
}

?>
  1. <?php
  2. // Menggunakan $layout untuk mendefinisikan layout alternatif
  3. class RecipesController extends AppController {
  4. function quickSave() {
  5. $this->layout = 'ajax';
  6. }
  7. }
  8. ?>

Anda juga bisa merubah title (judul) dari sebuah halaman (terletak di atas bar dari perambah (browser) anda) dengan menggunakan $pageTitle. Agar hal ini dapat bekerja dengan benar, layout anda harus memasukkan variabel $title_for_layout, yang diletakkan di antara tag <title> dan </title> pada bagian awal dokumen HTML.

<?php

//   Menggunakan $pageTitle untuk mendefinisikan judul halaman

class RecipesController extends AppController {
    function quickSave() {
        $this->pageTitle = 'My search engine optimized title';
    }
}

?>
  1. <?php
  2. // Menggunakan $pageTitle untuk mendefinisikan judul halaman
  3. class RecipesController extends AppController {
  4. function quickSave() {
  5. $this->pageTitle = 'My search engine optimized title';
  6. }
  7. }
  8. ?>

Anda juga bisa menset judul halaman dari dalam controller menggunakan $this->pageTitle (Anda harus memasukkan bagian $this->). Hal ini direkomendasikan, karena akan lebih baik untuk memisahkan bagian logika dari layout dan isi (content). Untuk halaman statis, anda harus mendefinisikan $this->pageTitle di dalam view untuk mendapatkan judul kustom (yang sesuai).

Jika $this->pageTitle tidak diset, maka judul halaman otomatis diganti dengan judul berdasarkan nama controller. Jika merupakan halaman statis, maka nama dari berkas (file) view lah yang akan digunakan sebagai judul.