Metode putThemeContent

Metode putThemeContent digunakan untuk memanggil file view component dari sebuah tema. Untuk memanggil view component yang lain, metode ini bisa digunakan berkali-kali.

Bentuk Umum

Berikut ini adalah bentuk umum metode putThemeContent dari kelas SENE_Controller .

$thi->putThemeContent(string $content_location[, array $data=array()]): controllerObject

Parameter

Metode ini memiliki 1 paremeter wajib yaitu $content_location.

$content_location

Nilai dari parameter $content_location merupakan sebuah string yang merujuk pada lokasi file view component didalam tema terpilih. Isi dari nilai ini tidak perlu diberi akhiran .php.

$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

Berikut ini adalah contoh penggunaan metode putThemeContent.

Strukur File dan Direktori

Sebelum memahami penggunaan kode, pahami terlebih dahulu ilustrasi struktur file dan direktorinya.

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

Contoh Controller

Berikut ini adalah contoh kode penggunaan metode putThemeContent pada controller home. Pada controller, ada variabel $data yang akan dikirim ke view.

class Home extends SENE_Controller
{
  public function __construct()
  {
    parent::__construct();
    $this->setTheme('homepage');
  }
  public function index()
  {
    $data = array();
    $data['contoh'] = 'ini contoh';
    $this->putThemeContent('home/slider',$data);
    $this->putThemeContent('home/three_values',$data);
    $this->loadLayout('col-1',$data);
  }
}

Contoh View Compoent

Berikut ini adalah contoh isi dari file home/slider.php. Dari contoh ini kita akan melihat bagaimana isi dari parameter $data array key-nya akan dipecah menajdi variabel biasa.

<div>
  <h1>This is parsed example <?=$contoh?></h1>
</div>

Info

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