Membuat Dashboard Admin Laravel
Membuat Dashboard Admin Laravel
Tambahkan sebuah file di folder dashboard dengan cara menyalin file blank.html pada folder
template admin lalu rename dengan nama dashboard.blade.php
2
4. MENGATUR CONTROLLER
Agar bisa menjalankan perintah saat suatu link di request maka kita perlu membuat dan mengatur
controller. Di controller kita bisa mereturn suatu view ataupun melakukan proses CRUD database.
Isi method contruct pada koding diatas berguna untuk membatasi agar user yang belum memiliki
session login tidak mengakses seluruh method yang di Controller ini dan meredirect usernya menuju
ke halaman login.
Isi method diatas akan mereturn sebuah view yang terletak di folder
views/dashboard/dashboard.blade.php
Koding line 28 berguna agar kita bisa langsung melakukan proses logout dengan menggunakan link
/logout.
Koding line 30 akan menangani request saat link /home dibuka dengan menjalankan method index
pada HomeController.
3
6. MEMECAHKAN KODING DASHBOARD MENJADI BEBERAPA MODUL
TAMPILAN
Buka file yang disalin tadi di text editor lalu perhatikan pada bagian tag head koding.
Lalu perhatikan juga pada pemanggilan css, file asset image, dan pemanggilan javascript. Pada
laravel diperlukan penambahan fungsi asset dalam pemanggilan asset web kita nantinya. Misalnya
src=”link/asset/kita.js” akan berubah menjadi src=”{{ asset(‘link/asset/kita.js’) }}”
Menjadi
4
Sekarang saatnya memecahkan bagian navigasi, konten, dan footer menjadi potongan koding
tersendiri.
Masih di dalam folder dashboard, buat lagi sebuah folder dengan nama module.
Buka lagi koding dashboard tadi, cari bagian navigasi (Line 32 – Line 93). Blok potongan koding
tersebut lalu cut dengan perintah ctrl + x.
Buat sebuah file baru dengan nama navigasi.blade.php di dalam folder module. Lalu pastekan
koding yang telah di cut tadi.
Lakukan hal yang sama pada bagian konten, dan juga footer. Khusus pada bagian konten, anda
bisa menggunakan konten dashboard pada template admin yang telah ada untuk memenuhi kebutuhan
dashboard anda.
5
Buka kembali koding dashboard.blade.php pada text editor lalu tambahkan potongan koding
berikut didalam tag div dengan id wrapper untuk memanggil module-module yang telah dipecahkan
tadi.
Anda bisa mengulangi langkah ini lagi untuk membuat tampilan menu sesuai dengan kebutuhan.
Pada bagian navigasi ubahlah potongan navigasi.blade.php pada folder module menjadi seperti
berikut :
6
</nav>
<!-- NAV HEADER -->
Gambaran :
7
KODE SOLUSI
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
/**
* Show the application dashboard.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return view('dashboard.dashboard');
}
/**
* Show the application admin profile page.
*
* @return \Illuminate\Http\Response
*/
public function profile()
{
return view('dashboard.profile');
}
}
8
<?php
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
Web.php
| routes are(route)
loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
return view('welcome');
});
Route::get('/info', function () {
return view('profil');
});
Auth::routes();
//Direct Logout
Route::get('/logout', 'Auth\LoginController@logout')->name('logout' );
Route::get('/home', 'HomeController@index')->name('home');
Route::get('/profile', 'HomeController@profile')->name('home');
9
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
Profile.blade.php (folder dashboard)
<link rel="icon" type="image/png" sizes="16x16" href="images/favicon.png">
<title>Profile Admin</title>
<!-- Bootstrap Core CSS -->
<link href="{{
<script src="{{ asset('bower_components/bootstrap/dist/css/bootstrap.min.css') }}" rel="stylesheet">
asset('bower_components/bootstrap/dist/js/bootstrap.min.js') }}"></script>
<!--Menu
<!-- MenuPlugin
CSS -->JavaScript -->
<link href="{{
<script src="{{ asset('bower_components/metisMenu/dist/metisMenu.min.css') }}" rel="stylesheet">
asset('bower_components/metisMenu/dist/metisMenu.min.js') }}"></script>
<!-- Custom CSS -->
<!--Nice scroll JavaScript -->
<link href="{{
<script src="{{ asset('css/style.css') }}" rel="stylesheet">
asset('js/jquery.nicescroll.js') }}"></script>
<!-- HTML5
<!--Wave Shim-->
Effects and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING:
<script Respond.js doesn't
src="{{ asset('js/waves.js') work if you view the page via file:// -->
}}"></script>
<!--[if lt IE 9]>
<!-- Custom Theme JavaScript -->
<scriptsrc="{{
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
asset('js/myadmin.js') }}"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
</body>
<![endif]-->
</head>
</html>
<body>
<!-- Preloader -->
<div class="preloader">
<div class="cssload-speeding-wheel"></div>
</div>
<div id="wrapper">
</div>
<!-- jQuery -->
<script src="{{ asset('bower_components/jquery/dist/jquery.min.js') }}"></script>
<!-- Bootstrap Core JavaScript -->
10