admin crud produk
This commit is contained in:
@ -36,154 +36,7 @@
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-primary shadow h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="row no-gutters align-items-center">
|
||||
<div class="col mr-2">
|
||||
<div class="text-xs font-weight-bold text-primary text-uppercase mb-1">Earnings (Monthly)</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">$40,000</div>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<i class="fas fa-calendar fa-2x text-gray-300"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-success shadow h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="row no-gutters align-items-center">
|
||||
<div class="col mr-2">
|
||||
<div class="text-xs font-weight-bold text-success text-uppercase mb-1">Earnings (Annual)</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">$215,000</div>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<i class="fas fa-dollar-sign fa-2x text-gray-300"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Earnings (Monthly) Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-info shadow h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="row no-gutters align-items-center">
|
||||
<div class="col mr-2">
|
||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">Tasks</div>
|
||||
<div class="row no-gutters align-items-center">
|
||||
<div class="col-auto">
|
||||
<div class="h5 mb-0 mr-3 font-weight-bold text-gray-800">50%</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="progress progress-sm mr-2">
|
||||
<div class="progress-bar bg-info" role="progressbar" style="width: 50%" aria-valuenow="50" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<i class="fas fa-clipboard-list fa-2x text-gray-300"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Pending Requests Card Example -->
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card border-left-warning shadow h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="row no-gutters align-items-center">
|
||||
<div class="col mr-2">
|
||||
<div class="text-xs font-weight-bold text-warning text-uppercase mb-1">Pending Requests</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">18</div>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<i class="fas fa-comments fa-2x text-gray-300"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Content Row -->
|
||||
|
||||
<div class="row">
|
||||
|
||||
<!-- Area Chart -->
|
||||
<div class="col-xl-8 col-lg-7">
|
||||
<div class="card shadow mb-4">
|
||||
<!-- Card Header - Dropdown -->
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
|
||||
<h6 class="m-0 font-weight-bold text-primary">Earnings Overview</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<i class="fas fa-ellipsis-v fa-sm fa-fw text-gray-400"></i>
|
||||
</a>
|
||||
<div class="dropdown-menu dropdown-menu-right shadow animated--fade-in" aria-labelledby="dropdownMenuLink">
|
||||
<div class="dropdown-header">Dropdown Header:</div>
|
||||
<a class="dropdown-item" href="#">Action</a>
|
||||
<a class="dropdown-item" href="#">Another action</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
<a class="dropdown-item" href="#">Something else here</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Card Body -->
|
||||
<div class="card-body">
|
||||
<div class="chart-area">
|
||||
<canvas id="myAreaChart"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Pie Chart -->
|
||||
<div class="col-xl-4 col-lg-5">
|
||||
<div class="card shadow mb-4">
|
||||
<!-- Card Header - Dropdown -->
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
|
||||
<h6 class="m-0 font-weight-bold text-primary">Revenue Sources</h6>
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<i class="fas fa-ellipsis-v fa-sm fa-fw text-gray-400"></i>
|
||||
</a>
|
||||
<div class="dropdown-menu dropdown-menu-right shadow animated--fade-in" aria-labelledby="dropdownMenuLink">
|
||||
<div class="dropdown-header">Dropdown Header:</div>
|
||||
<a class="dropdown-item" href="#">Action</a>
|
||||
<a class="dropdown-item" href="#">Another action</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
<a class="dropdown-item" href="#">Something else here</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Card Body -->
|
||||
<div class="card-body">
|
||||
<div class="chart-pie pt-4 pb-2">
|
||||
<canvas id="myPieChart"></canvas>
|
||||
</div>
|
||||
<div class="mt-4 text-center small">
|
||||
<span class="mr-2">
|
||||
<i class="fas fa-circle text-primary"></i> Direct
|
||||
</span>
|
||||
<span class="mr-2">
|
||||
<i class="fas fa-circle text-success"></i> Social
|
||||
</span>
|
||||
<span class="mr-2">
|
||||
<i class="fas fa-circle text-info"></i> Referral
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
131
application/views/admin/sb_admin/product/add.php
Normal file
131
application/views/admin/sb_admin/product/add.php
Normal file
@ -0,0 +1,131 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<?php $this->load->view($tpl_path . "_partial/head.php") ?>
|
||||
</head>
|
||||
|
||||
<body id="page-top">
|
||||
|
||||
<!-- Page Wrapper -->
|
||||
<div id="wrapper">
|
||||
|
||||
<!-- Sidebar -->
|
||||
<?php $this->load->view($tpl_path . "_partial/sidebar.php") ?>
|
||||
<!-- End of Sidebar -->
|
||||
|
||||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" class="d-flex flex-column">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Topbar -->
|
||||
<?php $this->load->view($tpl_path . "_partial/topbar.php") ?>
|
||||
<!-- End of Topbar -->
|
||||
|
||||
<!-- Page Content -->
|
||||
<div class="container-fluid">
|
||||
|
||||
<!-- Page Heading -->
|
||||
<div class="d-sm-flex align-items-center justify-content-between mb-4">
|
||||
<h1 class="h3 mb-0 text-gray-800"><?php echo $content_title ?></h1>
|
||||
</div>
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<?php if ($this->session->flashdata('success')): ?>
|
||||
<div class="alert alert-success" role="alert">
|
||||
<?php echo $this->session->flashdata('success'); ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<div class="card mb-3">
|
||||
<div class="card-header">
|
||||
<a href="<?php echo site_url('admin/product/') ?>"><i class="fas fa-arrow-left"></i> Back</a>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="<?php echo site_url('admin/products/add') ?>" method="post" enctype="multipart/form-data" >
|
||||
<div class="form-group">
|
||||
<label for="name">Name*</label>
|
||||
<input class="form-control <?php echo form_error('name') ? 'is-invalid':'' ?>"
|
||||
type="text" name="name" placeholder="Product name" />
|
||||
<div class="invalid-feedback">
|
||||
<?php echo form_error('name') ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="price">Price*</label>
|
||||
<input class="form-control <?php echo form_error('price') ? 'is-invalid':'' ?>"
|
||||
type="number" name="price" min="0" placeholder="Product price" />
|
||||
<div class="invalid-feedback">
|
||||
<?php echo form_error('price') ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label for="name">Photo</label>
|
||||
<input class="form-control-file <?php echo form_error('price') ? 'is-invalid':'' ?>"
|
||||
type="file" name="image" />
|
||||
<div class="invalid-feedback">
|
||||
<?php echo form_error('image') ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="name">Description*</label>
|
||||
<textarea class="form-control <?php echo form_error('description') ? 'is-invalid':'' ?>"
|
||||
name="description" placeholder="Product description..."></textarea>
|
||||
<div class="invalid-feedback">
|
||||
<?php echo form_error('description') ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input class="btn btn-success" type="submit" name="btn" value="Save" />
|
||||
</form>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="card-footer small text-muted">
|
||||
* required fields
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- End Content Row -->
|
||||
|
||||
</div>
|
||||
<!-- End Page Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
<!-- Footer -->
|
||||
<?php $this->load->view($tpl_path . "_partial/footer.php") ?>
|
||||
<!-- End of Footer -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
||||
</div>
|
||||
<!-- End of Page Wrapper -->
|
||||
|
||||
<!-- Scroll to Top Button-->
|
||||
<a class="scroll-to-top rounded" href="#page-top">
|
||||
<i class="fas fa-angle-up"></i>
|
||||
</a>
|
||||
|
||||
<!-- Modal-->
|
||||
<?php $this->load->view($tpl_path . "_partial/modal.php") ?>
|
||||
<!-- End Modal-->
|
||||
|
||||
<?php $this->load->view($tpl_path . "_partial/js.php") ?>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
131
application/views/admin/sb_admin/product/edit.php
Normal file
131
application/views/admin/sb_admin/product/edit.php
Normal file
@ -0,0 +1,131 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<?php $this->load->view($tpl_path . "_partial/head.php") ?>
|
||||
</head>
|
||||
|
||||
<body id="page-top">
|
||||
|
||||
<!-- Page Wrapper -->
|
||||
<div id="wrapper">
|
||||
|
||||
<!-- Sidebar -->
|
||||
<?php $this->load->view($tpl_path . "_partial/sidebar.php") ?>
|
||||
<!-- End of Sidebar -->
|
||||
|
||||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" class="d-flex flex-column">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Topbar -->
|
||||
<?php $this->load->view($tpl_path . "_partial/topbar.php") ?>
|
||||
<!-- End of Topbar -->
|
||||
|
||||
<!-- Page Content -->
|
||||
<div class="container-fluid">
|
||||
|
||||
<!-- Page Heading -->
|
||||
<div class="d-sm-flex align-items-center justify-content-between mb-4">
|
||||
<h1 class="h3 mb-0 text-gray-800"><?php echo $content_title ?></h1>
|
||||
</div>
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
|
||||
<?php if ($this->session->flashdata('success')): ?>
|
||||
<div class="alert alert-success" role="alert">
|
||||
<?php echo $this->session->flashdata('success'); ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<div class="card mb-3">
|
||||
<div class="card-header">
|
||||
<a href="<?php echo site_url('admin/product/') ?>"><i class="fas fa-arrow-left"></i> Back</a>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="<?php echo site_url('admin/products/add') ?>" method="post" enctype="multipart/form-data" >
|
||||
<div class="form-group">
|
||||
<label for="name">Name*</label>
|
||||
<input class="form-control <?php echo form_error('name') ? 'is-invalid':'' ?>"
|
||||
type="text" name="name" placeholder="Product name" />
|
||||
<div class="invalid-feedback">
|
||||
<?php echo form_error('name') ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="price">Price*</label>
|
||||
<input class="form-control <?php echo form_error('price') ? 'is-invalid':'' ?>"
|
||||
type="number" name="price" min="0" placeholder="Product price" />
|
||||
<div class="invalid-feedback">
|
||||
<?php echo form_error('price') ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label for="name">Photo</label>
|
||||
<input class="form-control-file <?php echo form_error('price') ? 'is-invalid':'' ?>"
|
||||
type="file" name="image" />
|
||||
<div class="invalid-feedback">
|
||||
<?php echo form_error('image') ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="name">Description*</label>
|
||||
<textarea class="form-control <?php echo form_error('description') ? 'is-invalid':'' ?>"
|
||||
name="description" placeholder="Product description..."></textarea>
|
||||
<div class="invalid-feedback">
|
||||
<?php echo form_error('description') ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input class="btn btn-success" type="submit" name="btn" value="Save" />
|
||||
</form>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="card-footer small text-muted">
|
||||
* required fields
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- End Content Row -->
|
||||
|
||||
</div>
|
||||
<!-- End Page Content -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
<!-- Footer -->
|
||||
<?php $this->load->view($tpl_path . "_partial/footer.php") ?>
|
||||
<!-- End of Footer -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
||||
</div>
|
||||
<!-- End of Page Wrapper -->
|
||||
|
||||
<!-- Scroll to Top Button-->
|
||||
<a class="scroll-to-top rounded" href="#page-top">
|
||||
<i class="fas fa-angle-up"></i>
|
||||
</a>
|
||||
|
||||
<!-- Modal-->
|
||||
<?php $this->load->view($tpl_path . "_partial/modal.php") ?>
|
||||
<!-- End Modal-->
|
||||
|
||||
<?php $this->load->view($tpl_path . "_partial/js.php") ?>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
@ -30,7 +30,7 @@
|
||||
<!-- Page Heading -->
|
||||
<div class="d-sm-flex align-items-center justify-content-between mb-4">
|
||||
<h1 class="h3 mb-0 text-gray-800">Produk</h1>
|
||||
<a href="#" class="d-none d-sm-inline-block btn btn-sm btn-primary shadow-sm"><i class="fas fa-plus fa-sm text-white-50"></i> Tambah Produk</a>
|
||||
<a href="<?php echo site_url('admin/product/add') ?>" class="d-none d-sm-inline-block btn btn-sm btn-primary shadow-sm"><i class="fas fa-plus fa-sm text-white-50"></i> Tambah Produk</a>
|
||||
</div>
|
||||
|
||||
|
||||
@ -42,20 +42,38 @@
|
||||
<div class="col-lg-12">
|
||||
<div class="card shadow" style="">
|
||||
<div class="card-body">
|
||||
<table class="table table-bordered" cellspacing="0" style="width: 100%;">
|
||||
<table class="table table-bordered" id="datatable" cellspacing="0" style="width: 100%;">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width:30px">ID</th>
|
||||
<th>Produk</th>
|
||||
<th style="width:100px">Aksi</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Gambar</th>
|
||||
<th>Nama Produk</th>
|
||||
<th>Harga</th>
|
||||
<th>Deskripsi</th>
|
||||
<th>Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($products as $product): ?>
|
||||
<tr>
|
||||
<td>ID</td>
|
||||
<td>Produk</td>
|
||||
<td>Edit | Hapus</td>
|
||||
<td>
|
||||
<img src="<?php echo base_url('upload/product/'.$product->image) ?>" width="64" />
|
||||
</td>
|
||||
<td width="150">
|
||||
<?php echo $product->name ?>
|
||||
</td>
|
||||
<td>
|
||||
<?php echo $product->price ?>
|
||||
</td>
|
||||
<td class="small">
|
||||
<?php echo substr($product->description, 0, 120) ?>...</td>
|
||||
<td width="250">
|
||||
<a href="<?php echo site_url('admin/product/edit/'.$product->product_id) ?>"
|
||||
class="btn btn-small"><i class="fas fa-edit"></i> Edit</a>
|
||||
<a onclick="deleteConfirm('<?php echo site_url('admin/product/delete/'.$product->product_id) ?>')"
|
||||
href="#!" class="btn btn-small text-danger"><i class="fas fa-trash"></i> Hapus</a>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
Reference in New Issue
Block a user