- Membuat struktur direktori yang mudah di jaga dan dikenali untuk 'view' anda.
- Memungkinkan untuk memakai beberapa template yang berbeda.
- Menyingkat tampilan halaman hanya dengan satu baris kode.
| 
1 | $ This -> Template-> load ( 'TEMPLATE_NAME', 'body_view'); | 
Step 1 : Menyiapkan Direktori
Buat folder baru di dalam application/views bernama template. Folder ini yang akan kita isi dengan view template (header, footer).
Step 2 : Membuat Library
Libary dalam codeigniter hanyalah seperti kelas-kelas di PHP yang bisa di load ke controllers layaknya views.
| 
1 | $ This -> load-> library ( 'nama_kelas') | 
| 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
40 
41 
42 
43 
44 
45 
46 
47 
48 
49 
50 
51 
52 
53 
54 | <?php  if( ! defined('BASEPATH')) exit('No direct script access allowed');    classTemplate    {      var$ci;             function__construct()       {         $this->ci =& get_instance();      }   functionload($tpl_view, $body_view= null, $data= null) {   if( ! is_null( $body_view) )    {      if( file_exists( APPPATH.'views/'.$tpl_view.'/'.$body_view) )       {         $body_view_path= $tpl_view.'/'.$body_view;      }      elseif( file_exists( APPPATH.'views/'.$tpl_view.'/'.$body_view.'.php') )       {         $body_view_path= $tpl_view.'/'.$body_view.'.php';      }      elseif( file_exists( APPPATH.'views/'.$body_view) )       {         $body_view_path= $body_view;      }      elseif( file_exists( APPPATH.'views/'.$body_view.'.php') )       {         $body_view_path= $body_view.'.php';      }      else      {         show_error('Unable to load the requested file: '. $tpl_name.'/'.$view_name.'.php');      }             $body= $this->ci->load->view($body_view_path, $data, TRUE);             if( is_null($data) )       {         $data= array('body'=> $body);      }      elseif( is_array($data) )      {         $data['body'] = $body;      }      elseif( is_object($data) )      {         $data->body = $body;      }   }       $this->ci->load->view('templates/'.$tpl_view, $data);}   } | 
Menggunakan Library
Untuk memulai menggunkan library kita, kita buat view template dulu dengan nama default.php di application/views/templates,dan letakkan html/php dibawah :
| 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 | <!DOCTYPE html><html>    <head>      <title><?php echo$title; ?></title>   </head>    <body>          <h1>Default template</h1>             <div class="wrapper">                   <?php echo$body; ?>                </div>          </body>    </html> | 
$title dan $body.Kita buat lagi sebuah file bernama konten.php di
application/views/ dan letakkan kode simpel HTML dibawah :| 
1 
2 
3 | <p>   Hello world!</p> | 
Didalam sembarang method controller, letakkan code dibawah untuk menampilkan konten view dalam default template.
| 
1 
2 
3 
4 
5 
6 
7 
8 | $data= array(    'title'=> 'Title goes here',    ); $this->load->library('template');$this->template->load('default', 'content', $data); | 
Note: library harus di load sebelum sobat bisa menggunakan 
method-method yang ada didalam library. Untuk me-load library secara 
otomatis, sobat bisa menambahkan array di library application/config/autoload.php. 
Jika sobat ingin menambahkan string di view melalui template, sobat tinggal menambahkan $data array menggunakan kunci body dan lewatkan null pada parameter kedua saat pemanggilan load.
| 
1 
2 
3 
4 
5 
6 
7 
8 | $data= array(    'title'=> 'Title goes here',   'body'=> 'The string to be embedded here!'    ); $this->template->load('default', null, $data); | 


 
 
0 comments:
Post a Comment