[Cakephp] Layout

Deskripsi :
        Layout merupakan salah satu fitur dari cakephp yang merupakan presentasi code yang membungkus content.

How to :

1. Untuk menggunakan layout , anda dapat menggunakan syntax $this->layout='name_layout';

2. Penulisan syntax dapat dilakukan di Controller (Penggunaan Global) maupun Action / Function (Lokal).

3. Lokasi layout berada di  /app/views/layouts/your_layout_name 

4. Untuk menampilkan content di layout gunakan $this->fetch('content');

5. Berikut adalah contoh penggunaan, saya anggap anda telah mempunyai sebuah view dari Action contohlayout(), untuk lebih memahami lihat code berikut di controller



Di contohController.php (/App/Controller/contohController.php) :

class contohController extends AppController
{
   ...........another code ...........
   ...........another code ...........

   public function contohlayout()
   {
         // jika ingin menggunakan layout sendiri
         $this->layout='mylayout';

         // jika tidak ingin menggunakan layout
         $this->layout='false';

         // pilih salah satu dari 2 diatas, karena ini contoh saya anggap kita pakai layout = 'mylayout'
   }
}



Di contohlayout.ctp (/App/view/contoh/contohlayout.ctp)

     - contoh merepresentasikan Controller yang kita gunakan.
     - contohlayout.ctp adalah file view yang akan diakses sesuai dengan nama action yang diakses.

Code :
   
<p>Hello World, i'am cakephp framework :D</p>


Di mylayout.ctp (/App/view/layouts/mylayout.ctp)


     - layouts merepresentasikan tempat lokasi / folder dari file layouts.
     - mylayout.ctp adalah file layout.


Code :
   
<html>
     <?php $this->fetch('content') ?>
     <p>Salam Kenal</p>
</html>


Penjelasan dari semua code :
     Ketika user mengakses : www.&*^%.com/contoh/contohlayout
     maka yang pertama dipanggil adalah Action contohlayout() , di dalam action ini layout / tampilan web di set ke file mylayout.ctp , sedangkan file view yang harusnya dipanggil contohlayout.ctp diganti dan direpresentasikan sebagai  $this->fetch('content'). maka ketika dieksekusi code di browsernya akan menjadi seperti ini.

Code :    

<html>
     <p>Hello World, i'am cakephp framework :D</p>
     <p>Salam Kenal</p>
</html>

hal ini akan sedikit berbeda jika kita menggunakan theme.


- End of Layout -


Post a Comment

Harap gunakan bahasa yang baik dan sopan, terima kasih