3.5.2.3 Page-related Attributes: $layout and $pageTitle
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';
}
}
?>
<?php// Menggunakan $layout untuk mendefinisikan layout alternatifclass RecipesController extends AppController {function quickSave() {$this->layout = 'ajax';}}?>
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';
}
}
?>
<?php// Menggunakan $pageTitle untuk mendefinisikan judul halamanclass RecipesController extends AppController {function quickSave() {$this->pageTitle = 'My search engine optimized title';}}?>
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.
