Selasa, 09 Juni 2015
Tutorial Codeigniter Membuat Keranjang Belanja [ END ]
Tutorial Codeigniter Membuat Keranjang Belanja [ END ]
Jaka Prima Maulanaselamat datang pengunjung primasaja.com,
tutorial kali ini akan membahas mengenai " Tutorial Codeigniter Membuat Keranjang Belanja [ END ] ". ya ini adalah terakhir tapi bukan akhir segalanya tapi akhir dari episode membuat keranjang belanja lanjutan yang kemarin jika anda belum melihat tutorial nya klik link dibawah ini
setelah tutorial sebelumnya telah dibuat dan dimengerti fungsi dari fungsi - fungsi cart atau keranjang belanja sekarang kita akan mulai membuatnya dengan hasil seperti ini
bagaimana ? penasaran ? ikuti langkah - langkah dibawah ini dengan seksama ingat step by step jangan ada yang diloncat nanti error :v.
1. Mempersiapkan database keranjang belanja
hal pertama yang dilakukan adalah buat dahulu tabel untuk menampung nilai yang akan ditampilkan di view nanti. buat struktur tabel seperti dibawah ini
2. Membuat Controller Keranjang Belanja
setelah membuat database lalu buat sebuah kontroller dalam contoh tutorial saya, saya membuat kontroller bernama belanjaprimasaja lalu tuliskan code seperti dibawah ini
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Belanjaprimasaja extends CI_Controller {
public function index()
{
$this->load->model('produk_model');
$data['produks'] = $this->produk_model->ambil_semua();
$this->load->view('produk_V', $data);
}
}
code diatas dapat diuraikan sebagai berikut
- $this->load->model('produk_model'); = mengambil produk_model.php
- $data['produks'] = $this->produk_model->ambil_semua(); = mengambil fungsi ambil_semua() dari produk_model ( akan dibuat di tahap selanjutnya )
- $this->load->view('produk_V', $data); = meload tampilan dengan nama file produk_V
3. Membuat Model Keranjang Belanja
seperti controller yang sudah anda buat lalu buat model produk_model.php dan buat fungsi ambil_semua() berikut code nya
<?php
class Produk_model extends CI_Model{
function ambil_semua(){
$results = $this->db->get('produk')->result();
foreach ($results as $result) {
if ($result->option_values) {
$result->option_values = explode(',',$result->option_values);
}
}
return $results;
}
}
4. Membuat View Keranjang Belanja
jika anda telah membuat model dan kontroller selanjutnya buat view untuk penampilannya berikut code yang sudah saya buat beserta CSS untuk design websitenya
<html>
<head>
<title>belanja </title>
<style type="text/css">
thead{
background-color: coral;
}
tbody{
background-color: aliceblue;
}
td {border: 2px solid #dddddd;
text-align: center;
}
tr {border: 2px solid #dddddd;
text-align: center;
}
.cart-info table {
width: 80%;
margin-bottom: 20px;
border-collapse: collapse;
border-top: 1px solid #E7E7E7;
border-left: 1px solid #E7E7E7;
border-right: 1px solid #E7E7E7;
background-color: #FFF;
}
.table-bordered {
border: 1px solid #FA0000;
}
.table {
width: 100%;
margin-bottom: 20px;
}
table {
max-width: 80%;
background-color: transparent;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
body{
font: :13px arial;
}
#produks {
text-align: center;float: left;
}
#produks ul{
list-style-type: none; margin: 0px;
}
#produks li{
width: 150px;padding: 4px;margin: 8px;
border: 2px solid #000; background-color: #eee;
-moz-border-radius: 4px; -webkit-border-radius:4px;
}
#produks .name {
font-size: 15px; margin:5px;
}
#produks .price{
margin: 5px;
}
#produks .option {
margin: 5px;
}
</style>
</head>
<body>
<div id="produks">
<ul>
<?php foreach ($produks as $produk): ?>
<li>
<?php echo form_open('belanjaprimasaja/tambah');?>
<div class="name"><?php echo $produk->name; ?></div>
<div class="thumb">
<?php echo img(array(
'src' => 'images/' .$produk->image,
'class' => 'thumb',
'alt' => $produk->name
));?>
</div>
<div class="price"> Rp <?php echo $produk->price; ?></div>
<div class="option">
<?php if ($produk->option_name): ?>
<?php echo form_label($produk->option_name, 'option_'. $produk->id); ?>
<?php echo form_dropdown(
$produk->option_name,
$produk->option_values,
Null,
'id="option_'. $produk->id. '"'
);
?>
<?php endif;?>
</div>
<?php echo form_hidden('id', $produk->id);?>
<?php echo form_submit('action', 'Masukkan Keranjang');?>
<?php echo form_close(); ?>
</li>
<?php endforeach; ?>
</ul>
</div>
<?php if ($cart = $this->cart->contents()):?>
<div id="cart">
<?php print_r($cart);?>
</div>
<?php endif;?>
<table class="table table-striped table-bordered">
<caption><h1>shopping cart primasaja.com</h1></caption>
<thead>
<tr>
<th>nama barang</th>
<th>pilihan</th>
<th>Harga</th>
</tr>
</thead>
<?php foreach ($cart as $item): ?>
<tr>
<td><?php echo $item['name'];?></td>
<td>
<?php if($this->cart->has_options($item['rowid'])){
foreach ($this->cart->product_options($item['rowid'])as $option => $value)
echo $option . ": <em>" . $value . "</em>";
}?>
</td>
<td>Rp<?php echo $item['subtotal'];?></td>
<td class="hapus"><?php echo anchor('belanjaprimasaja/hapus/'.$item['rowid'],'X');?>
</td>
</tr>
<?php endforeach;?>
<tr class="total">
<td colspan="2"><strong>Total</strong></td>
<td>Rp<?php echo $this->cart->total();?></td>
</tr>
</table>
</body>
</html>
<head>
<title>belanja </title>
<style type="text/css">
thead{
background-color: coral;
}
tbody{
background-color: aliceblue;
}
td {border: 2px solid #dddddd;
text-align: center;
}
tr {border: 2px solid #dddddd;
text-align: center;
}
.cart-info table {
width: 80%;
margin-bottom: 20px;
border-collapse: collapse;
border-top: 1px solid #E7E7E7;
border-left: 1px solid #E7E7E7;
border-right: 1px solid #E7E7E7;
background-color: #FFF;
}
.table-bordered {
border: 1px solid #FA0000;
}
.table {
width: 100%;
margin-bottom: 20px;
}
table {
max-width: 80%;
background-color: transparent;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
body{
font: :13px arial;
}
#produks {
text-align: center;float: left;
}
#produks ul{
list-style-type: none; margin: 0px;
}
#produks li{
width: 150px;padding: 4px;margin: 8px;
border: 2px solid #000; background-color: #eee;
-moz-border-radius: 4px; -webkit-border-radius:4px;
}
#produks .name {
font-size: 15px; margin:5px;
}
#produks .price{
margin: 5px;
}
#produks .option {
margin: 5px;
}
</style>
</head>
<body>
<div id="produks">
<ul>
<?php foreach ($produks as $produk): ?>
<li>
<?php echo form_open('belanjaprimasaja/tambah');?>
<div class="name"><?php echo $produk->name; ?></div>
<div class="thumb">
<?php echo img(array(
'src' => 'images/' .$produk->image,
'class' => 'thumb',
'alt' => $produk->name
));?>
</div>
<div class="price"> Rp <?php echo $produk->price; ?></div>
<div class="option">
<?php if ($produk->option_name): ?>
<?php echo form_label($produk->option_name, 'option_'. $produk->id); ?>
<?php echo form_dropdown(
$produk->option_name,
$produk->option_values,
Null,
'id="option_'. $produk->id. '"'
);
?>
<?php endif;?>
</div>
<?php echo form_hidden('id', $produk->id);?>
<?php echo form_submit('action', 'Masukkan Keranjang');?>
<?php echo form_close(); ?>
</li>
<?php endforeach; ?>
</ul>
</div>
<?php if ($cart = $this->cart->contents()):?>
<div id="cart">
<?php print_r($cart);?>
</div>
<?php endif;?>
<table class="table table-striped table-bordered">
<caption><h1>shopping cart primasaja.com</h1></caption>
<thead>
<tr>
<th>nama barang</th>
<th>pilihan</th>
<th>Harga</th>
</tr>
</thead>
<?php foreach ($cart as $item): ?>
<tr>
<td><?php echo $item['name'];?></td>
<td>
<?php if($this->cart->has_options($item['rowid'])){
foreach ($this->cart->product_options($item['rowid'])as $option => $value)
echo $option . ": <em>" . $value . "</em>";
}?>
</td>
<td>Rp<?php echo $item['subtotal'];?></td>
<td class="hapus"><?php echo anchor('belanjaprimasaja/hapus/'.$item['rowid'],'X');?>
</td>
</tr>
<?php endforeach;?>
<tr class="total">
<td colspan="2"><strong>Total</strong></td>
<td>Rp<?php echo $this->cart->total();?></td>
</tr>
</table>
</body>
</html>
5. Membuat Fungsi Tambah Untuk Tombol Masukkan Keranjang
coba anda klik tombol masukkan keranjang belum akan bekerja sebelum anda membuat fungsi tambah() seperti contoh code saya dibawah ini
function tambah(){
$this->load->model('produk_model');
$produk = $this->produk_model->ambil($this->input->post('id'));
$insert = array(
'id' => $this->input->post('id'),
'qty' => 1,
'price' => $produk->price,
'name' => $produk->name
);
if ($produk->option_name) {
$insert['options'] = array(
$produk->option_name =>$produk->option_values[$this->input->post($produk->option_name)]
);
}
$this->cart->insert($insert);
redirect('Belanjaprimasaja');
}
5. Kembali Ke Kontroller Membuat Dropdown Dari Database
seperti yang sudah di buat pada tabel yang dibuat pertama kali kita akan menampilkan data option_values yang tersimpan di database ke sebuah dropdown menu dengan menggunakan fungsi ambil($id) dari urutan id di database
function ambil($id) {
$results =$this->db->get_where('produk', array('id' => $id))->result();
$result = $results[0];
if ($result->option_values) {
$result->option_values = explode(',', $result->option_values);
}
return $result;
}
5. Membuat Fungsi Hapus untuk menghapus data Keranjang Belanja
ketika mengklik X masih error jika belum di buat fungsi hapus di kontroller yang sudah di panggil di view berikut code untuk membuat fungsi hapus data keranjang belanja
function hapus($rowid){
$this->cart->update(array(
'rowid' => $rowid,
'qty' => 0
));
redirect ('Belanjaprimasaja');
}
}
jika sudah cek hasilnya jika anda mengalami error silahkan berkomentar dibawah okey :D
Hasil :
Note : jika untuk menghilangkan tulisan diatas shopping cart hapus aja code print_r
Topik menarik sejenis yang mungkin anda cari:
Langganan:
Posting Komentar
(
Atom
)
Tidak ada komentar :
Posting Komentar