Codeigniter tutorial library template

Teknologi templating adalah hal yang sangat lumrah saat design maupun pembuatan template.

Hal ini sering dipergunakan untuk membuat menghindari hal hal yang berulang. Dengan template kita tidak harus menulis kode, mendesain hal yang sebenarnya sama. Kenapa? Karena capek..

Oke, berikut codenya dan

<?php
class Template {
    public $template_data = [];

    function set($name, $value){
        $this->template_data[$name] = $value;
    }

    function load($template = '', $view = '', $data = [], $return = FALSE){
        $this->CI =& get_instance();
        $this->set('contents', $this->CI->load->view($view, $data, TRUE));
        return $this->CI->load->view($template, $this->template_data, $return);
    }
}

?>

Instalasi Template

Pertama, pastikan anda sudah menginstall Codeigniter di projek anda.. (yaiyalah)

Kemudian tambahkan file Template.php pada folder application/libraries…

Silahkan ketik ulang (atau copas) kode diatas dan simpan..

Loading Template

Selanjutnya, pada buka file application/config/autoload.php kemudian pada libraries tambahkan “template”

$autoload['libraries'] = array("template");

Membuat File View Template

File view ini nantinya akan menjadi main view dari template, dimana file ini akan menyediakan satu area khusus ($contents) yang menjadi view utama dari web kita.

Jadi sifat file ini akan sama saja dan hanya mengalami perubahan pada $contents nya saja.

Silahkan tambhakan file viwe baru pada folder application/view/template.php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Templating CI</title>
</head>
<body>
    <!-- Bagian Header (Pembuka) dari template -->
    <h1>Selamat Datang</h1>

    <!-- Bagian pembuka file view (yang akan dinamis) -->
    <?php echo $contents ?>
    <!-- Bagian penitup file view -->

    <!-- Bagian Footer (Penutup) dari template -->
    <div>
        Copyright azharisaputra.com
    </div>
</body>
</html>

Membuat File View

Nah, untuk konten view akan kita coba dua file view (view1.php dan view2.php)

applivation/view/view1.php

<p>Ini halaman 1</p>

applivation/view/view2.php

<p>Ini halaman 2</p>

Seharusnya bisa ktia tebak dari kasus diatas harusnya baginan Selamat Datang dan Copyright azharisaputra.com harusnya tetap tidak berubah, sementara untuk bagian ditengahnya (view) akan berubah sesua konten viwenya.

Membuat Controller

Untuk melakukan penujian silahkan buat sebuah controller sample, misal kita buat controller Blog

Untuk menggunakna template pada controller dengan sintaks berikut

$this->template->load($template, $view, $data)
  • $template, berisi file template yang akan diload
  • $view, berupa file view yang akan diload di file template
  • $data, bisa digunakan untuk parsing data ke file view lewat parameter ini

Tambahkan file baru di application/controller/Blog.php dan ketikkan kode berikut

<?php
class Blog extends CI_Controller{

    public function satu(){
      $this->template->load('template','view1');
    }

    public function dua(){
        $this->template->load('template','view2');

    }

}

Kemudian simpan.

Hasilnya silahkan cek dibrowser anda masing masing (url sesuaikan)

http://localhost/ci/index.php/blog/satu untuk mengakses view satu

http://localhost/ci/index.php/blog/dua untuk mengakses view yang kedua

Sekian, Semoga bermanfaat..

Azhari Sikumbang

Tulis dan bicarakan, agar lebih berguna. (Github | Linked in)
~ azhari@coretanit.com