shopping cart dengan codeigniter

6

Click here to load reader

Upload: sigit

Post on 25-Jun-2015

678 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Shopping Cart Dengan CodeIgniter

Shopping Cart Dengan CodeIgniterJanuary 28th, 2010 → 5:27 pm

7

Jika anda ingin membangun toko online, salah satu fitur yang hampir pasti ada yaitu shopping cart. Membuat shopping cart tidaklah begitu sulit, terlebih jika anda menggunakan framework CodeIgniter.

CodeIgniter telah menyediakan suatu pustaka untuk mempermudah anda membuat shopping cart.

Mari kita membuat shopping cart dengan CodeIgniter.

Database

Kita akan membuat table sederhana untuk menampung barang yang akan kita jual.

123456

CREATE TABLE `products` ( `id` int NOT NULL AUTO_INCREMENT, `name` varchar(100) NOT NULL, `price` int NOT NULL, PRIMARY KEY (`id`));

Input beberapa data sebagai sampel untuk aplikasi toko online.

1234

INSERT INTO products` (`id` ,`name` ,`price`)VALUES (NULL , 'ayam goreng', '8000'),(NULL , 'bebek panggang', '12000');

Konfigurasi CodeIgniter

Sebelum memulai aplikasi ini, ada beberapa konfigurasi yang harus kita ubah dalam CodeIgniter.

Page 2: Shopping Cart Dengan CodeIgniter

Konfigurasi database (config/database.php)

12345

$db['default']['hostname'] = "localhost"; $db['default']['username'] = "root"; $db['default']['password'] = "root"; $db['default']['database'] = "toko_online"; $db['default']['dbdriver'] = "mysql";

Konfigurasi aplikasi (config/config.php)Ubah base url ini ke localhost atau url yang anda inginkan.

1 $config['base_url'] = "http://localhost/toko/";

Demi keamanan pastikan setting XSS filtering anda bernilai true.

1 $config['global_xss_filtering'] = TRUE;

Konfigurasi autoload (config/autoload.php)Untuk pustaka yang sering kita pakai, pastikan dimasukan secara auto.

1 $autoload['libraries'] = array('cart', 'database');

Juga helper yang sering kita pakai, untuk contoh ini adalah URL helper.

1 $autoload['helper'] = array('url');

Model

12345678910111213141516

<?php  Model product mempunyai 2 fungsi yaitu untuk mengambil seluruh data barang, dan fungsi untuk mengambil data barang tertentu sesuai dengan id yang diinginkan. class Model_Product extends Model {  function get_all($limit = NULL, $offset = NULL) { $query = $this->db->get('products', $limit, $offset); return $query->result(); }   function get($id) { $query = $this->db->get_where('products', array('id'=>$id)); return $query->row(); } }

Page 3: Shopping Cart Dengan CodeIgniter

Controller

Pertama kita membuat controller product yang berfungsi untuk menampilkan daftar barang yang sedang dijual.

123456789101112131415

<?php class Products extends Controller {  function Products() { parent::Controller(); $this->load->model('model_product'); }  function index() {  $data['product_list'] = $this->model_product->get_all(); $this->load->view('product/index', $data); }}

Controller cart berfungsi untuk menambahkan product ke dalam cart, dan menampilkan isi cart tersebut.

12345678910111213141516171819202122232425262728

<?php class Cart extends Controller {  function Cart() { parent::Controller(); $this->load->model('model_product'); }  function add($id) { $product = $this->model_product->get($id);  $data = array( 'id' => $product->id, 'qty' => 1, 'price' => $product->price, 'name' => $product->name, ); $this->cart->insert($data); redirect("cart"); }  function index($offset = 0) {  $data['cart_list'] = $this->cart->contents(); $this->load->view('cart/index', $data); }}

View

Page 4: Shopping Cart Dengan CodeIgniter

Ada dua view yang harus kita buat, yaitu view untuk menampilkan daftar barang yang dijual dan view untuk menampilkan barang yang ada di shopping cart.

Berikut view untuk menampilkan daftar barang

12345678910111213141516171819

<html> <head> <title>Membuat Shopping Cart Dengan CodeIgniter</html> </head>  <h1>Daftar barang </h1> <? if (!empty($product_list)): ?> <ul> <? foreach($product_list as $product): ?> <li> <? echo $product->name ?> (<? echo $product->price ?>) - <a href='<? echo site_url("cart/add/$product->id") ?>' >beli</a> </li> <? endforeach ?> </ul> <? else : ?> <p>Produk kosong.</p> <? endif ?></html>

Berikut view untuk menampilkan daftar barang dalam shopping cart

12345678910111213141516171819202122232425262728

<html> <head> <title>Membuat Shopping Cart Dengan CodeIgniter</html> <style> .number { text-align:right; } </style> </head> <h1>Shopping cart anda</h1> <? if (!empty($cart_list)): ?> <table> <tr> <th>Jumlah</th> <th>Nama barang</th> <th>Harga</th> <th>Jumlah</th> </tr> <? foreach($cart_list as $product): ?> <tr> <td class="number"><? echo $product['qty'] ?></td> <td><? echo $product['name'] ?></td> <td class="number"><? echo $product['price'] ?></td> <td class="number"><? echo $product['qty'] * $product['price'] ?></td> </tr> <? endforeach ?> <tr> <td colspan="3">Total</td> <td class="number"><?= $this->cart->total(); ?></td>

Page 5: Shopping Cart Dengan CodeIgniter

2930313233343536

</tr> </table> <? else : ?> <p>Produk kosong.</p> <? endif ?> <a href="<? echo site_url('products') ?>">Kembali</a></html>

Ini hanyalah contoh sederhana pemakaian pustaka shopping cart, seperti anda lihat aplikasi ini belum menangani update shopping cart. Untuk itu silahkan anda kembangkan dan pelajari lebih lanjut. Jika anda masih merasa kesuliatan, silahkan tanyakan kesulitan anda, mungkin saja saya bisa membantu.