Membuat dashboard dengan php

Dashboard yang kita buat menggunakan template dari //adminlte.io/. Download versi terbarunya kemudian exstract. Setelah di exstract, copy paste isi dari folder dist (css, img, js) ke dalam folder toko/public.

Selanjutnya buka folder plugins di folder hasil exstract tadi, kemudian copy 3 folder (bootstrap, fontawesome-free, dan jquery) ke dalam folder toko/public/js. Semua folder yang dibutuhkan sudah dipersiapkan di folder public. Kemudian ikuti langkah selanjutnya di bawah ini.

# Buat DashboardController

Buka terminal di visual studio code, kemudian buatlah 1 buah controller dengan perintah

php artisan make:controller DashboardController

Kemudian pencet enter. Kemudian buka file DashboardController.php tadi dan edit menjadi seperti kode di bawah ini.

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class DashboardController extends Controller { public function index() { $data = array('title' => 'Dashboard'); return view('dashboard.index', $data); } }

Kalau sudah, sekarang lanjut ke langkah selanjutnya.

# Tambahkan Route

Buka file routes/web.php dan pada baris paling bawah, tambahkan kode ini.

Route::group(['prefix' => 'admin'], function() { Route::get('/', '[email protected]'); });

Pada langkah selanjutnya kita akan membuat template dashboardnya.

# Buat Menu Dashboard

Buat 1 buah file baru di dalam folder views/layouts dengan nama menudashboard.blade.php dan isi dengan kode berikut.

<nav class="mt-2"> <ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu" data-accordion="false"> <!-- Add icons to the links using the .nav-icon class with font-awesome or any other icon font library --> <li class="nav-item"> <a href="#" class="nav-link"> <i class="nav-icon fas fa-th"></i> <p> Dashboard </p> </a> </li> <li class="nav-item has-treeview"> <a href="#" class="nav-link"> <i class="nav-icon fas fa-folder-open"></i> <p> Produk <i class="right fas fa-angle-left"></i> </p> </a> <ul class="nav nav-treeview"> <li class="nav-item"> <a href="#" class="nav-link"> <i class="far fa-circle nav-icon"></i> <p>Active Page</p> </a> </li> <li class="nav-item"> <a href="#" class="nav-link"> <i class="far fa-circle nav-icon"></i> <p>Inactive Page</p> </a> </li> </ul> </li> <li class="nav-item has-treeview"> <a href="#" class="nav-link"> <i class="nav-icon fas fa-shopping-cart"></i> <p> Transaksi <i class="right fas fa-angle-left"></i> </p> </a> <ul class="nav nav-treeview"> <li class="nav-item"> <a href="#" class="nav-link"> <i class="far fa-circle nav-icon"></i> <p>Active Page</p> </a> </li> <li class="nav-item"> <a href="#" class="nav-link"> <i class="far fa-circle nav-icon"></i> <p>Inactive Page</p> </a> </li> </ul> </li> <li class="nav-item has-treeview"> <a href="#" class="nav-link"> <i class="nav-icon fas fa-list"></i> <p> Laporan <i class="right fas fa-angle-left"></i> </p> </a> <ul class="nav nav-treeview"> <li class="nav-item"> <a href="#" class="nav-link"> <i class="far fa-circle nav-icon"></i> <p>Penjualan</p> </a> </li> </ul> </li> <li class="nav-item"> <a href="#" class="nav-link"> <i class="nav-icon fas fa-sign-out-alt"></i> <p> Sign Out </p> </a> </li> </ul> </nav>

# Template Dashboard

Terakhir buat 1 buah file di dalam folder views/layouts dengan nama dashboard.blade.php

Karena kodenya agak panjang, copy paste saja kode di bawah ini.

<!DOCTYPE html> <!-- This is a starter template page. Use this page to start your new project from scratch. This page gets rid of all links and provides the needed markup only. --> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="x-ua-compatible" content="ie=edge"> <title>{{ $title }}</title> <!-- Font Awesome Icons --> <link rel="stylesheet" href="{{ asset('js/fontawesome-free/css/all.min.css') }}"> <!-- Theme style --> <link rel="stylesheet" href="{{ asset('css/adminlte.min.css') }}"> <!-- Ionicons --> <link rel="stylesheet" href="//code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css"> <!-- Google Font: Source Sans Pro --> <link href="//fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700" rel="stylesheet"> </head> <body class="hold-transition sidebar-mini"> <div class="wrapper"> <!-- Navbar --> <nav class="main-header navbar navbar-expand navbar-white navbar-light"> <!-- Left navbar links --> <ul class="navbar-nav"> <li class="nav-item"> <a class="nav-link" data-widget="pushmenu" href="#" role="button"><i class="fas fa-bars"></i></a> </li> <li class="nav-item d-none d-sm-inline-block"> <a href="/" class="nav-link">Home</a> </li> </ul> <!-- Right navbar links --> <ul class="navbar-nav ml-auto"> <!-- Notifications Dropdown Menu --> <li class="nav-item dropdown"> <a class="nav-link" data-toggle="dropdown" href="#"> <i class="far fa-bell"></i> <span class="badge badge-warning navbar-badge">15</span> </a> <div class="dropdown-menu dropdown-menu-lg dropdown-menu-right"> <span class="dropdown-header">15 Notifications</span> <div class="dropdown-divider"></div> <a href="#" class="dropdown-item"> <i class="fas fa-envelope mr-2"></i> 4 new messages <span class="float-right text-muted text-sm">3 mins</span> </a> <div class="dropdown-divider"></div> <a href="#" class="dropdown-item"> <i class="fas fa-users mr-2"></i> 8 friend requests <span class="float-right text-muted text-sm">12 hours</span> </a> <div class="dropdown-divider"></div> <a href="#" class="dropdown-item"> <i class="fas fa-file mr-2"></i> 3 new reports <span class="float-right text-muted text-sm">2 days</span> </a> <div class="dropdown-divider"></div> <a href="#" class="dropdown-item dropdown-footer">See All Notifications</a> </div> </li> </ul> </nav> <!-- /.navbar --> <!-- Main Sidebar Container --> <aside class="main-sidebar sidebar-dark-primary elevation-4"> <!-- Brand Logo --> <a href="index3.html" class="brand-link"> <img src="{{ asset('img/AdminLTELogo.png') }}" alt="AdminLTE Logo" class="brand-image img-circle elevation-3" style="opacity: .8"> <span class="brand-text font-weight-light">AdminLTE 3</span> </a> <!-- Sidebar --> <div class="sidebar"> <!-- Sidebar user panel (optional) --> <div class="user-panel mt-3 pb-3 mb-3 d-flex"> <div class="image"> <img src="{{ asset('img/user2-160x160.jpg') }}" class="img-circle elevation-2" alt="User Image"> </div> <div class="info"> <a href="#" class="d-block">Alexander Pierce</a> </div> </div> <!-- Sidebar Menu --> @include('layouts.menudashboard') <!-- /.sidebar-menu --> </div> <!-- /.sidebar --> </aside> <!-- Content Wrapper. Contains page content --> <div class="content-wrapper"> <!-- Content Header (Page header) --> <div class="content-header"> <div class="container-fluid"> <div class="row mb-2"> <div class="col-sm-6"> <h2 class="m-0 text-dark">{{ $title }}</h2> </div><!-- /.col --> <div class="col-sm-6"> <ol class="breadcrumb float-sm-right"> <li class="breadcrumb-item"><a href="#">Home</a></li> <li class="breadcrumb-item active">Starter Page</li> </ol> </div><!-- /.col --> </div><!-- /.row --> </div><!-- /.container-fluid --> </div> <!-- /.content-header --> <!-- Main content --> <div class="content"> @yield('content') </div> <!-- /.content --> </div> <!-- /.content-wrapper --> <!-- Main Footer --> <footer class="main-footer"> <!-- To the right --> <div class="float-right d-none d-sm-inline"> Anything you want </div> <!-- Default to the left --> <strong>Copyright &copy; 2014-2019 <a href="//adminlte.io">AdminLTE.io</a>.</strong> All rights reserved. </footer> </div> <!-- ./wrapper --> <!-- REQUIRED SCRIPTS --> <!-- jQuery --> <script src="{{ asset('js/jquery/jquery.min.js') }}"></script> <!-- Bootstrap 4 --> <script src="{{ asset('js/bootstrap/js/bootstrap.bundle.min.js') }}"></script> <!-- AdminLTE App --> <script src="{{ asset('js/adminlte.min.js') }}"></script> </body> </html>

# Terakhir

Terakhir, buatlah 1 buah folder di dalam folder views dengan nama dashboard. Kemudian tambahkan 1 buah file dengan nama index.blade.php dan isi dengan kode berikut.

@extends('layouts.dashboard') @section('content') <div class="container-fluid"> <div class="row"> <div class="col"> <h2>Ini Dashboard</h2> </div> </div> </div> @endsection

Setelah semua siap, sekarang jalankan dengan perintah php artisan serve dan akses di alamat //localhost:8000/admin

Hasilnya akan tampak seperti gambar di bawah ini.

Postingan terbaru

LIHAT SEMUA