Metode loadLayout

Metode loadLayout digunakan untuk memanggil view layout dalam suatu tema.

Bentuk Umum

Berikut ini bentuk umum penggunaan metode loadLayout dari kelas SENE_Controller .

$this->loadLayout(string $layout [, $data=array()]): controllerObject

Parameter

Metode ini memiliki 1 parameter wajib dan 1 parameter opsional.

$layout

Nilai dari $layout dapat berisi string dari layout yang ingin digunakan. Pelajari tentang persyaratan file layout di Tema Tampilan Seme Framework.

$data

Nilai dari parameter $data dapat berisi array of array untuk dilemparkan ke dalam view component dari controller. Kunci array dari isi parameter ini akan dipecah menjadi variabel biasa ketika dipanggil pada view.

Contoh Penggunaan

Berikut ini adalah contoh penggunaan dari metode loadLayout.

<?php
class Blog extends SENE_Controller {
  public function __construct(){
    parent::__construct();
    $this->setTheme('front');
  }
  public function index(){
    $data = array();
    $data['contoh'] = 'ini contoh';
    $this->setTitle('Blog home');
    $this->putThemeContent("blog/home",$data);
    $this->putJsContent('blog/home_bottom',$data);
    $this->loadLayout('col-1',$data);
    $this->render();
  }
}

Dalam potongan kode contoh tersebut, tema yang digunakan bernama front dan layout yang digunakan col-1. Kedua direktori dan file ini harus sudah ada baik secara struktur file maupun direktori. Untuk lebih lengkapnya lihat ilustrasi

app/
└── view/
 └── front/
  ├──  home/
  | ├──  slider.php
  | └──  three_values.php
  └──  page
    └──  col-1.php

Info

Metode putThemeContent , putJsContent dan loadLayout memiliki kemampuan untuk mem-buffer view, sehingga view ditampung terlebih dahulu sebelum ditampilkan ke browser melalui metode render .

Penamaan file layout

Jika sulit menentukan penamaan file layout, berikut ini adalah contoh nama file dan tipsnya:

  • col-1.php satu halaman penuh, tidak ada menu samping.
  • col-2-left.php halaman dibagi 2 bagian kolom, menu samping ada di sebelah kiri.
  • col-2-right.php halaman dibagi 2 bagian kolom, menu samping ada di sebelah kanan.
  • col-3.php halaman dibagi tiga bagian kolom.
  • login.php layout khusus untuk login.
  • homepage.php layout khusus untuk homepage / halaman utama.