Laravel Filemanager Unisharp

Pada gambar diatas adalah hasil akhir dari laravel filemanager yang dimana didalam filemanager sangat berguna sekali ketika kita akan menyisipkan sebuah file kedalam postingan artikel kita. Untuk memulai tahapan - tahapan ini pastikan kalian mengikuti Requirement nya supaya mengurangi error ketika kalian dalam mempraktekan nya.

 Requirement 

- Laravel 5.8

- TinyMCE 4

- Database MySQL

- Laravel Filemanager Unisharp versi 2.3

Langkah - langkah.

Buat project laravel dengan versi laravel 5.8 

$ composer create-project --prefer-dist laravel/laravel yourProjectName "5.8.*" -vvv

Pastikan ketika buat project laravel 5.8 tidak terdapat error sama sekali, selanjutnya kita generate key di project laravelnya.

$ php artisan key:generate

Konfigurasi koneksi Database, dalam tutorial kali ini saya menggunakan Nama Database nya blog. Jika kalian beda nama databasenya silahkan kalian sesuaikan ya.

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=blog
DB_USERNAME=root
DB_PASSWORD=

 Tahapan selanjutnya kita akan memanfaatkan make:auth karena di laravel 5.8 ini masih ada syntak tersebut, oh iya kita butuh ini karena laravel filemanager butuh authentikasi untuk bisa runningnya, jadi tetap iktu terus sampai dengan selesai.

$ php artisan make:auth

Setelah menjalankan make:auth karena kita butuh table-table default laravel seperti table users maka kalian bisa jalankan syntak migration laravel

$ php artisan migrate

Untuk tahapan awal kita sepertinya selesai, selanjutnya bisa kita test jalankan dengan menjalankan artisan serve supaya aplikasinya bisa kita panggil lewat browser.

$ php artisan serve

Jika sudah jalan, kalian bisa lakukan Register salah satu User untuk demo - demo login, untuk mempermudah navigasi kita tambahkan satu menu dengan nama menu Post  yang dimana menu ini akan kita gunakan untuk masuk ke Halaman Post. Untuk menambah menu baru kita bisa open file resources/views/layouts/app.blade.php dan ubah filenya menjadi seperti ini :

<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <!-- CSRF Token -->
    <meta name="csrf-token" content="{{ csrf_token() }}">

    <title>{{ config('app.name', 'Laravel') }}</title>

    <!-- Scripts -->
    <script src="{{ asset('js/app.js') }}" defer></script>

    <!-- Fonts -->
    <link rel="dns-prefetch" href="//fonts.gstatic.com">
    <link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet">

    <!-- Styles -->
    <link href="{{ asset('css/app.css') }}" rel="stylesheet">
</head>
<body>
    <div id="app">
        <nav class="navbar navbar-expand-md navbar-light bg-white shadow-sm">
            <div class="container">
                <a class="navbar-brand" href="{{ url('/') }}">
                    {{ config('app.name', 'Laravel') }}
                </a>
                <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="{{ __('Toggle navigation') }}">
                    <span class="navbar-toggler-icon"></span>
                </button>

                <div class="collapse navbar-collapse" id="navbarSupportedContent">
                    <!-- Left Side Of Navbar -->
                    <ul class="navbar-nav mr-auto">
                        @auth
                        <li class="nav-item">
                            <a class="nav-link" href="{{ route('post.index') }}">{{ 'Post' }}</a>
                        </li>
                        @endauth
                    </ul>

                    <!-- Right Side Of Navbar -->
                    <ul class="navbar-nav ml-auto">
                        <!-- Authentication Links -->
                        @guest
                            <li class="nav-item">
                                <a class="nav-link" href="{{ route('login') }}">{{ __('Login') }}</a>
                            </li>
                            @if (Route::has('register'))
                                <li class="nav-item">
                                    <a class="nav-link" href="{{ route('register') }}">{{ __('Register') }}</a>
                                </li>
                            @endif
                        @else
                            <li class="nav-item dropdown">
                                <a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>
                                    {{ Auth::user()->name }} <span class="caret"></span>
                                </a>

                                <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
                                    <a class="dropdown-item" href="{{ route('logout') }}"
                                       onclick="event.preventDefault();
                                                     document.getElementById('logout-form').submit();">
                                        {{ __('Logout') }}
                                    </a>

                                    <form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
                                        @csrf
                                    </form>
                                </div>
                            </li>
                        @endguest
                    </ul>
                </div>
            </div>
        </nav>

        <main class="py-4">
            @yield('content')
        </main>
    </div>
    @yield('script')
</body>
</html>

Selanjutnya buat schema Post, Model Post, Controller Post

$ php artisan make:model Post -mcr

Lanjut di Bagian 2 ya, mohon di tunggu bagian duanya

 

 

Related Articles

Comments