Crud Ci4
Crud Ci4
1. Jalankan Xampp
2. Jalankan visual studio code
3. Edit app/Config/Routes.php menjadi seperti ini
<?php
use CodeIgniter\Router\RouteCollection;
/**
* @var RouteCollection $routes
*/
$routes->get('/', 'Home::index');
$routes->get('/about', 'Page::about');
$routes->get('/contact', 'Page::contact');
$routes->get('/faqs', 'Page::faqs');
$routes->get('/news', 'News::index');
$routes->get('/news/(:any)', 'News::viewNews/$1');
$routes->group('admin', function($routes){
$routes->get('news', 'NewsAdmin::index');
$routes->get('news/(:segment)/preview', 'NewsAdmin::preview/$1');
$routes->add('news/new', 'NewsAdmin::create');
$routes->add('news/(:segment)/edit', 'NewsAdmin::edit/$1');
$routes->get('news/(:segment)/delete', 'NewsAdmin::delete/$1');
});
4. Pada bagian app/Controllers/ buat file baru dengan nama NewsAdmin.php untuk coding sebagai berikut
use \App\Models\NewsModel;
use CodeIgniter\Exceptions\PageNotFoundException;
//--------------------------------------------------------------------------
//--------------------------------------------------------------------------
//--------------------------------------------------------------------------
//--------------------------------------------------------------------------
5. Selanjutnya pada app/Models buat file baru dengan nama NewsModel.php untuk coding nya sebagai berikut
<?php
namespace App\Models;
use CodeIgniter\Model;
6. Kemudian pada bagian app/Views buat file baru dengan nama news_detail.php untuk coding sebagai berikut
7. Kemudian pada bagian app/Views buat file baru dengan nama admin_create_news.php untuk coding sebagai
berikut
8. Kemudian pada bagian app/Views buat file baru dengan nama admin_edit_news.php untuk coding sebagai berikut
9. Kemudian pada bagian app/Views buat file baru dengan nama admin_list_news.php untuk coding sebagai berikut
<table class="table">
<thead>
<tr>
<th>#</th>
<th>Title</th>
<th>Status</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php foreach($newses as $news): ?>
<tr>
<td><?= $news['id'] ?></td>
<td>
<strong><?= $news['title'] ?></strong><br>
<small class="text-muted"><?= $news['created_at'] ?></small>
</td>
<td>
<?php if($news['status'] === 'published'): ?>
<small class="text-success"><?= $news['status'] ?></small>
<?php else: ?>
<small class="text-muted"><?= $news['status'] ?></small>
<?php endif ?>
</td>
<td>
<a href="<?= base_url('admin/news/'.$news['id'].'/preview') ?>" class="btn btn-sm
btn-outline-secondary" target="_blank">Preview</a>
<a href="<?= base_url('admin/news/'.$news['id'].'/edit') ?>" class="btn btn-sm btn-
outline-secondary">Edit</a>
<a href="#" data-href="<?= base_url('admin/news/'.$news['id'].'/delete') ?>"
onclick="confirmToDelete(this)" class="btn btn-sm btn-outline-danger">Delete</a>
</td>
</tr>
<?php endforeach ?>
</tbody>
</table>
<script>
function confirmToDelete(el){
$("#delete-button").attr("href", el.dataset.href);
$("#confirm-dialog").modal('show');
}
</script>
10. Kemudian pada bagian app/Views/layout buat folder baru dengan nama admin
11. Lalu buka bagian app/Views/layout/admin buat file baru dengan nama admin_layout.php masukkan codeing
berikut
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Admin Berita Codeigniter</title>
<body>
</body>
</html>
12. Lalu buka bagian app/Views/layout/admin buat file baru dengan nama navbar.php masukkan codeing berikut