Download

Minggu, 31 Mei 2015

Datetimepicker JQuery UI

Pada bahasan kali ini akan dijelaskan cara pembuatan datetimepicker (kalendar tanggal dan waktu) menggunakan JQuery UI. Saya menemukan sumber tersebut pada
link http://trentrichardson.com/examples/timepicker/.

Silahkan anda download terlebih dahulu sourcenya. Berikut contoh pembuatan JQuery UI DateTImePicker



  1.     <link rel="stylesheet" media="all" type="text/css" href="http://code.jquery.com/ui/1.11.0/themes/smoothness/jquery-ui.css" />
  2.     <link rel="stylesheet" media="all" type="text/css" href="<?php echo base_url()?>assets/css/jquery-ui-timepicker-addon.css" />

  3.     <script type="text/javascript" src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
  4.     <script type="text/javascript" src="http://code.jquery.com/ui/1.11.0/jquery-ui.min.js"></script>
  5.     <script type="text/javascript" src="<?php echo base_url()?>assets/js/datetime/jquery-ui-timepicker-addon.js"></script>
  6.     <script type="text/javascript" src="<?php echo base_url()?>assets/js/datetime/i18n/jquery-ui-timepicker-addon-i18n.min.js"></script>
  7.     <script type="text/javascript" src="<?php echo base_url()?>assets/js/datetime/jquery-ui-sliderAccess.js"></script>

  8. <input type='text' id='start'/>
  9.     <script type="text/javascript">
  10.       $(document).ready(function(){
  11.        $('#start').datetimepicker({
  12.         dateFormat: 'yy-mm-dd',
  13.         timeFormat: "hh:mm"
  14.       });
  15.     </script>


Hasil dari code tersebut seperti berikut


Selamat mencoba & Happy Coding Guys

Get IP Address With PHP Code

Artikel kali ini akan membahas bagaimana cara mendeteksi IP menggunakan code PHP. PHP sendiri telah menyediakan fungsi untuk mendeteksi IP tersebut. Dengan menggunakan fungsi berikut

$_SERVER['REMOTE_ADDR'];

contohnya seperti berikut

   <?php
    $ip=$_SERVER['REMOTE_ADDR'];
    echo "IP address= $ip";
   ?>


selamat mencoba and Happy Coding Guys

Sabtu, 30 Mei 2015

CRUD Yii Menggungakan Gii

Mengenal GII

Gii adalah sebuah code generator berbasis Web yang telah disdiakan YII. Tool ini menggantikan tool sebelumnya yakni yiic shell yang berjalan di command line. Di bagian ini, kita akan melihat bagaimana menggunakan Gii dan cara meningkatkan(mengembangkan) kemampuan Gii untuk mendongkrak produktivitas pengembangan.

Cara menggunakan Gii

Sebenarnya kode Gii telah disediakan, hanya saja kita harus mengaktifkan Gii untuk dapat menggunakannya. Berikut ini cara untuk mengaktifkan Gii.
Buka file yang berada folder /protected/config lalu pilih file main.php, cari baris kode berikut

return array(
    ......
    'modules'=>array(
// uncomment the following to enable the Gii tool
/*
'gii'=>array(
'class'=>'system.gii.GiiModule',
'password'=>'Enter Your Password Here',
// If removed, Gii defaults to localhost only. Edit carefully to taste.
'ipFilters'=>array('127.0.0.1','::1'),
),
*/
),
);

Perhatikan terdapat komentar “uncomment the following to enable the Gii tool, untuk mengaktifkan Gii kita cukup menghapus komentar /* */ pada kode diatas, berikut kode modifikasinya

return array(
    ......
    'modules'=>array(
// uncomment the following to enable the Gii tool
'gii'=>array(
'class'=>'system.gii.GiiModule',
'password'=>'admin',
// If removed, Gii defaults to localhost only. Edit carefully to taste.
'ipFilters'=>array('127.0.0.1','::1'),
),
),
);

Selesai sudah, coba perhatikan pada array terdapat string password, dimana password itu digunakan ketika kita akan masuk ke fasilitas Gii, lihat ilustrasi gambar berikut ini. Akses laman berikut http://localhost/latihan/index.php?r=gii/default/login 




Halaman log in Gii

Penulis telah mengatur password untuk Log In yaitu admin. Berikut ini tampilan ketika sukses memasuki halaman Gii


Halaman Gii

Url Manager

Untuk dapat menggunakan Gii kita dapat mengakses dengan ketikan URL http://hostname/path/to/index.php?r=gii. Mungkin url tersebut sedikit tidak bersahabat / kurang mudah..
Jika aplikasi Yii yang sudah ada menggunakan URL format path (lihat URL management), kita dapat mengakses Gii dengan URL http://hostname/path/to/index.php/gii. Kita perlu menambah aturan URL berikut di depan aturan URL yang sudah ada:
// uncomment the following to enable URLs in path-format
/*
'urlManager'=>array(
'urlFormat'=>'path',
'rules'=>array(
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
),
),
*/
Hapus komen /* */ untuk mengaktifkan url manager di yii. Dengan mengatur url tersebut kita hanya perlu mengetik http://localhost/latihan/index.php/gii lebih mudah dibanding sebelumnya harus menggunakan parameter ?r=gii. Mudahkan ?
Gii dilengkapi dengan beberapa code generator(kode penghasil). Setiap code generator bertanggung jawab untuk menghasilkan kode dengan jenis tertentu. Misalnya, untuk controller generator menghasilkan sebuah kelas controller dengan beberapa skrip aksi view(action view); model generator menghasilkan kelas ActiveRecord (rekaman aktif) sesuai tabel database yang sudah ditentukan.
Pada dasarnya urutan menggunakan generator sebagai berikut:
Masuk ke halaman generator;
Isi field yang menspesifikasi parameter penghasil kode. Misalnya untuk memakai module generator yang berfungsi menghasilkan module baru, Anda harus menspesifikasi ID module;
Tekan Preview untuk melihat kode yang dihasilkan. Anda akan melihat sebuah tabel menampilkan daftar file kode yang akan dihasilkan. Anda dapat mengklik salah satu dari daftar tersebut untuk melihat isi kode;
Tekan tombol Generate untuk menghasilkan file-file kode tersebut;
Perhatikan catatan proses penghasilan kode (code generation log).

Meningkatkan Kinerja Gii

Walaupun secara default, code generator yang dari Gii dapat menghasilkan kode yang sangat powerful, kita sering perlu menyesuaikan code generator tersebut atau membuat yang baru supaya sesuai dengan keperluan dan selera kita. Misalnya, kita ingin menghasilkan kode yang menjadi gaya koding kita sendiri, atau kita ingin kode kita mendukung berbagai bahasa. Semuanya dapat dilakukan dengan Gii secara mudah.
Gii dapat ditingkatkan dengan dua cara: mengubah templat kode(code template) yang sudah ada, dan menulis code generator yang baru.

Struktur dari Code Generator

Sebuah code generator disimpan dalam sebuah direktori yang namanya diperlakukan sebagai nama generator. Direktori biasanya terdiri dari isi berikut:
model/                       folder root dari model generator
   ModelCode.php             kode model yang digunakan untuk menghasilkan kode
   ModelGenerator.php        controller dari code generator
   views/                    berisi skrip tilik(view) untuk generator
      index.php              default dari skrip tilik
   templates/                berisi kumpulan templat(template) kode
      default/               kumpulan template kode 'default'
         model.php           kode templat untuk menghasilkan kode kelas model

Jalur Pencarian Generator(Generator Search Path)

Gii mencari generator yang tersedia di dalam kumpulan direktori yang ditentukan oleh properti GiiModule::generatorPaths. Ketika diperlukan kustomisasi, kita dapat mengatur properti ini dalam konfigurasi aplikasi sebagai berikut,
return array(
    'modules'=>array(
        'gii'=>array(
            'class'=>'system.gii.GiiModule',
            'generatorPaths'=>array(
                'application.gii',   // sebuah alias path
            ),
        ),
    ),
);
Konfigurasi di atas menginstruksi Gii untuk mencari generator yang terletak di dalam direktori dengan alias application.gii, sebagai tambahan bagi lokasi default system.gii.generators.
Dimungkinkan untuk memiliki dua generator dengan nama yang sama namun memiliki jalur pencarian(search path) yang berbeda. Kalau terjadi, generator di dalam jalur yang sudah ditentukan pada waktu awal di GiiModule::generatorPaths akan didahulukan.

Membuat CRUD (create, read, update, delete) dengan Gii

Sebelum membuat CRUD, ada baiknya siapkan terlebih dahulu database beserta table yang akan digunakan. Pada latihan kali ini penulis akan membuat database latihan dengan table kategori, berikut query SQLnya
Create database latihan
Use latihan
Create table kategori (id int(11) primary key auto_increment, kategori varchar(20))
Ini gambaran diphpmyadmin


Table kategori

Pada cd terlampir penulis menyediakan database dan tablenya. Ada konfigurasi lagi untuk mengkoneksikan database dengan website. Ubah kode main.php yang berada pada folder /protected/config
Ubah kode berikut 
// uncomment the following to use a MySQL database
/*
'db'=>array(
'connectionString' => 'mysql:host=localhost;dbname=testdrive',
'emulatePrepare' => true,
'username' => 'root',
'password' => '',
'charset' => 'utf8',
),
*/
Menjadi
// uncomment the following to use a MySQL database
'db'=>array(
'connectionString' => 'mysql:host=localhost;dbname=latihan',
'emulatePrepare' => true,
'username' => 'root',
'password' => '',
'charset' => 'utf8',
),
Simpan file tersebut. Website telah terhubung dengan database latihan.
 Langsung kita mulai pembuatan CRUDnya. Dengan mengakses http://localhost/latihan/index.php/gii . masuklah dengan menggunakan password yang telah kita setting.



Halaman Gii
Pilih lah menu Model Generator



Halaman Model Generator

Isi Table Name dengan kategori, seperti gambar berikut 


Halaman Model Generate

Setelah itu klik tombol generate, jika sukses pada bagian bawah akan terdapat tampilan seperti berikut



Halaman Model Generator ketika berhasil membuat model

Setelah itu pilih menu CRUD Generator 




Halaman CRUD Generator
Masukan pada textbox Model Class nama model yang tadi kita buat kategori


Halaman CRUD Generate



Halaman CRUD Generator
Ketika tadi memasukan nama mode lalu mengklik tombol preview maka tampilan seperti gambar diatas yang akan muncul. Lalu klik tombol generate CRUD berhasil dibuat


Halaman CRUD Generator

untuk mencoba CRUD klik saja link try it now



Halaman View Data Kategori

Terdapat pesan No result found. Karena data belum ada. Untuk itu kita coba memasukan satu data, klik menu create kategori pada bagian kanan menu


Halaman Create Kategori

Coba isikan data untuk kategori, penulis mencoba mengisi textbox dengan Elektronik, ketika tombol create ditekan maka halaman akan dialihkan kehalaman detail kategori 




Halaman Detail Kategori

Sekarang coba pilih menu list kategori, berbeda dengan gambar sebelumnya terdapat pesan No result found, setelah kita menginputkan data maka tampilan akan menjadi seperti berikut


Halaman List Kategori

Sekarang kita coba untuk merubah data yang telah diinputkan tadi, pada menu kanan pilih menu manage kategori


Halaman Manage Kategori

Terdapat icon hapus, edit dan detail. Pilih icon yang bergambar pensil untuk merubah data


Halaman Edit Kategori

Coba sekarang kita rubah, pada textbox otomatis terisi dengan Elektronik, sesuai dengan data yang ada pada table kategori, sekarang dengan Non Elektronik


Halaman Detail Kategori setelah data diedit

Data berhasil dirubah, sekarang untuk mencoba fasilitas hapus data. Kembali ke halaman Manage Kategori . lalu pilih icon cakra/ hapus.


Tampilan ketika akan menghapus data

Ketika mengklik icon, sistem akan secara otomatis melakukan verifikasi apakah data itu akan benar dihapus atau tidak. Klik ok untuk menghapus.


Halaman Manage Kategori setelah data dihapus

Yap, kembali terdapat pesan No result found. Itu karena data pada table kategori kosong. Sangat mudahkan membuat CRUD di Yii, kita hanya perlu memahami Giinya saja. Tanpa harus membuat kode dari awal. Untuk bab ini sampai disini, pada bab selanjutnya akandibahas lebih lanjut lebih dalam mengenai Yii dan fasilitas yang super-duper membantu developer. Keep spirit ☺

Combobox dinamis
echo $form->dropDownList($model,'id_kategori',CHtml::listData(KategoriModel::model()->findAll(), 'id_kategori', 'kategori'),array('prompt'=>'Select Regional'));

Happy Coding Guys



Modifikasi View Yii

Memodifikasi dan Menambah Konten

Pada bab ini kita akan mulai dengan modifikasi halaman dengan merubah isi konten sampai menambahkan halaman. Penulis akan menggunakan folder testyii untuk latihan kali ini. Buka folder protected/views/site pada folder testyii. 



Isi folder site

Terdapat 4 file dan satu folder yang berisi 1 file about.php, berikut penjelasan beberapa file tersebut
Contact.php ,merupakan file yang akan ditampilkan pada menu contact
Error.php merupakan file ketika login error maka file tersebut akan ditampilkan pada halaman browser
Index.php merupakan halaman pertama yang akan ditampilkan pada halaman web
Login.php merupakan file yang akan ditampilkan pada halaman login
File about merupakan file yang akan ditampilkan pada halaman about
Berikut ini gambar dari tiap halaman



File index.php



File about.php



File contact.php



File login.php



File Error.php
gambar-gambar diatas merupakan tampilan awal / default dari YII pertama kita install. Pada bahasan sekarang penulis akan memberi gambaran untuk merubah isi tampilan dan mencoba membuat / menambah halaman.  Buka folder protected/views/ lalu buka file index.php 
<h3>Ini halaman index yang telah di modifikasi</h3>
Simpan file tersebut, kemudian akses laman berikut 


Halaman index yang telah dirubah

Sekarang bagaimana jika kita ingin menambahkan menu ? buka folder /protected/views/layout/main.php. Cari kode dibawah ini 

<div id="mainmenu">
<?php $this->widget('zii.widgets.CMenu',array(
'items'=>array(
array('label'=>'Home', 'url'=>array('/site/index')),
array('label'=>'About', 'url'=>array('/site/page', 'view'=>'about')),
array('label'=>'Contact', 'url'=>array('/site/contact')),
array('label'=>'Login', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest),
array('label'=>'Logout ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest)
),
)); ?>
</div><!-- mainmenu -->

Kode diatas merupakan kode untuk membuat menu. Sebagai contoh penulis ingin menambah menu kalkulator yang nantinya akan dibuat untuk perhitungan sederhana (penjumlahan,pengurangan,perkalian,pembagian). Rubah kode sehingga menjadi sebagai berikut

<div id="mainmenu">
<?php $this->widget('zii.widgets.CMenu',array(
'items'=>array(
array('label'=>'Home', 'url'=>array('/site/index')),
array('label'=>'About', 'url'=>array('/site/page', 'view'=>'about')),
array('label'=>'Contact', 'url'=>array('/site/contact')),
                                                         array('label'=>'Kalkulator', 'url'=>array('/site/kalkulator')),
array('label'=>'Login', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest),
array('label'=>'Logout ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest)
),
)); ?>
</div><!-- mainmenu -->
Simpan file tersebut , kemudian buka  /protected/controller/siteController.php. berikut ini kode sebelum dimodifikasi
<?php

class SiteController extends Controller
{
/**
* Declares class-based actions.
*/
public function actions()
{
return array(
// captcha action renders the CAPTCHA image displayed on the contact page
'captcha'=>array(
'class'=>'CCaptchaAction',
'backColor'=>0xFFFFFF,
),
// page action renders "static" pages stored under 'protected/views/site/pages'
// They can be accessed via: index.php?r=site/page&view=FileName
'page'=>array(
'class'=>'CViewAction',
),
);
}

/**
* This is the default 'index' action that is invoked
* when an action is not explicitly requested by users.
*/
public function actionIndex()
{
// renders the view file 'protected/views/site/index.php'
// using the default layout 'protected/views/layouts/main.php'
$this->render('index');
}

/**
* This is the action to handle external exceptions.
*/
public function actionError()
{
if($error=Yii::app()->errorHandler->error)
{
if(Yii::app()->request->isAjaxRequest)
echo $error['message'];
else
$this->render('error', $error);
}
}

/**
* Displays the contact page
*/
public function actionContact()
{
$model=new ContactForm;
if(isset($_POST['ContactForm']))
{
$model->attributes=$_POST['ContactForm'];
if($model->validate())
{
$name='=?UTF-8?B?'.base64_encode($model->name).'?=';
$subject='=?UTF-8?B?'.base64_encode($model->subject).'?=';
$headers="From: $name <{$model->email}>\r\n".
"Reply-To: {$model->email}\r\n".
"MIME-Version: 1.0\r\n".
"Content-Type: text/plain; charset=UTF-8";

mail(Yii::app()->params['adminEmail'],$subject,$model->body,$headers);
Yii::app()->user->setFlash('contact','Thank you for contacting us. We will respond to you as soon as possible.');
$this->refresh();
}
}
$this->render('contact',array('model'=>$model));
}

/**
* Displays the login page
*/
public function actionLogin()
{
$model=new LoginForm;

// if it is ajax validation request
if(isset($_POST['ajax']) && $_POST['ajax']==='login-form')
{
echo CActiveForm::validate($model);
Yii::app()->end();
}

// collect user input data
if(isset($_POST['LoginForm']))
{
$model->attributes=$_POST['LoginForm'];
// validate user input and redirect to the previous page if valid
if($model->validate() && $model->login())
$this->redirect(Yii::app()->user->returnUrl);
}
// display the login form
$this->render('login',array('model'=>$model));
}

/**
* Logs out the current user and redirect to homepage.
*/
public function actionLogout()
{
Yii::app()->user->logout();
$this->redirect(Yii::app()->homeUrl);
}
}

Kode diatas merupakan controller default saat instalasi yii. File inilah yang bertugas mengatur seperti link tiap halaman. Perhatikan pada kode diatas terdapat beberpa function diantaranya actionIndex(). Function tersebut bertugas ketika fungsi tersebut dijalankan, maka kode yang terdapat pada kode tersebut akan dijalankan. Secara default actionIndex() berfungsi untuk menampilkan halaman index dengan meload file index yang berada pada folder views/site/.
Tambahkan kode berikut,letakan sebelum tutup kurung kurawal } terakhir

public function actionKalkulator()
{
$this->render('kalkulator');
}

Simpan file tersebut. Kemudian lihat perubahan pada browser dengan akses laman berikut 




Halaman setelah dimodifikasi

Terdapat menu baru yakni kalkulator, coba klik menu tersebut maka tampilan browser akan berubah seperti berikut

Halaman kalkulator
Lah kok error ? simple saja itu karena file kalkulator.php belum dibuat. Karena fungsi actionKalkulator() akan merender file kalkulator.php. oleh karena itu buat terlebih dahulu file kalkulator.php. berikut kodenya
<h3>Ini halaman kalkulator</h3>
Simpan file tersebut pada folder views/site beri nama kalkulator.php.  kemudian klik menu kalkulator pada browser, gambar dibawah meruoakan tampilan setelah dbuat file kalkulator.php



Halaman kalkulator

Sudah tidak error lagi, mungkin untuk membuat lebih paham lagi silahkan dicoba-coba sendiri. 


Merubah Judul Website
Perhatikan gambar sebelumnya, Terdapat pada header tulisan My Web Application bukan ? mungkin untuk pemula bingung dimana letak tulisan tersebut. Yap, file tersebut berada di file main.php di folder/protected/config, terletak pada baris paling atas
'name'=>'My Web Application',
Sekarang coba rubah My Web Application menjadi Practice Yes It Is



Tampilan setelah dirubah

Merubah Footer

Setelah mengetahui bagaimana merubah title header , sekarang penulis akan membahas bagaimana merubah footer ? sebenarnya kalo kita mengetahui dimana letak template berada pasti akan sangat mudah untuk merubah footer tersebut. Letak template berada pada folder /protected/views/layout/ cari file main.php, file tersebutlah yang mengatur layout web yang ditampilkan pada browser,sebelumnya telah dibahas tentang bagaimana menambah menu. Mari kita buka kembali kode dari file main.php
<?php /* @var $this Controller */ ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="language" content="en" />

<!-- blueprint CSS framework -->
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/screen.css" media="screen, projection" />
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/print.css" media="print" />
<!--[if lt IE 8]>
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/ie.css" media="screen, projection" />
<![endif]-->

<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/main.css" />
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/form.css" />

<title><?php echo CHtml::encode($this->pageTitle); ?></title>
</head>

<body>

<div class="container" id="page">

<div id="header">
<div id="logo"><?php echo CHtml::encode(Yii::app()->name); ?></div>
</div><!-- header -->

<div id="mainmenu">
<?php $this->widget('zii.widgets.CMenu',array(
'items'=>array(
array('label'=>'Home', 'url'=>array('/site/index')),
array('label'=>'About', 'url'=>array('/site/page', 'view'=>'about')),
array('label'=>'Contact', 'url'=>array('/site/contact')),
                array('label'=>'Kalkulator', 'url'=>array('/site/kalkulator')),
array('label'=>'Login', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest),
array('label'=>'Logout ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest)
),
)); ?>
</div><!-- mainmenu -->
<?php if(isset($this->breadcrumbs)):?>
<?php $this->widget('zii.widgets.CBreadcrumbs', array(
'links'=>$this->breadcrumbs,
)); ?><!-- breadcrumbs -->
<?php endif?>

<?php echo $content; ?>

<div class="clear"></div>

<div id="footer">
Copyright &copy; <?php echo date('Y'); ?> by My Company.<br/>
All Rights Reserved.<br/>
<?php echo Yii::powered(); ?>
</div><!-- footer -->

</div><!-- page -->

</body>
</html>
Pada baris ke 51 terdapat tag html <div id=”footer”>. Diantara tag tersebut konten footer berada. Untuk memastikan hal tersebut coba modifikasi kode berikut menjadi seperti berikut
<div id="footer">
Copyright &copy; <?php echo date('Y'); ?> by Deden Hendra Permana.<br/>
All Rights Reserved.<br/>
</div><!-- footer -->

Simpan file berikut, gambar berikut ini merupakan hasil dari modifikasi 



Tampilan setelah modifikasi footer

Mendesain Layout

Nah bahasan terakhir di bab 2 tentang tata letak layout, penulis akan membahas sederhananya mengatur tata letak. Pada umumnya sama saja dengan yang lain kita menggunakan css (cascading style sheet) untuk mendesain halaman web. Ketika kita menginstall yii, secara langsung telah disediakan css yang digunakan untuk mendesain template, pada latihan sekarang kita akan menggunakan css bawaan dari yii untuk di modifikasi.
Untuk memulai, buka file column1.php yang berada pada folder /protected/views/layouts, berikut ini kode sebelum dimodifikasi

<?php /* @var $this Controller */ ?>
<?php $this->beginContent('//layouts/main'); ?>
<div id="content">
<?php echo $content; ?>
</div><!-- content -->
<?php $this->endContent(); ?>
Kode inilah yang berperan dalam penampilan konten website. Modifikasi kode berikut menjadi seperti ini
<?php /* @var $this Controller */ ?>
<?php $this->beginContent('//layouts/main'); ?>
<div id="content">
Main Konten
</div><!-- content -->

<div id="side-content">
Side Konten
</div><!--side content -->
<?php $this->endContent(); ?>
Simpan file tersebut. Perhatikan perubahan kode yang telah dimodifikasi diatas



Setelah modifikasi file column1.php

Terlihat jika konten telah berubah. Sekarang kita akan membuat sebuah layout. Dimana ada dua konten, yakni konten tengah dan konten samping. Gambar diatas telah menggambarkan layout yang akan kita buat, hanya saja tata letak belum sesuai dengan tujuan. Buka file main.css pada folder css. Tambahkan kode berikut 
……. 
#content
{
    padding: 20px;
    float: left;
    width: 400px;        
}


#side-content
{
    padding: 20px;
}

Penjelasan

#content untuk mengatur letak main konten
#side-content untuk mengatur letak side konten
Simpan file berikut




Setelah modifikasi css


Gambar diatas sudah sesuai dengan tujuan awal, dimana kita akan membuat dua layout untuk website ini. Seperti itulah gambaran mengenai  templating / tata letak layout. Selamat mencoba ☺

Happy Coding