라라벨 패키지 Admin 통합 방법
라라벨 패키지 Admin 통합하기
제공 중인 라라벨은 각각의 관리자단을 가집니다. 쇼핑몰(laravel-market)경우 는 여러개의 패키지를 통합하여 제공하는데 이들의 Admin단을 통합하는 과정을 설명드리겠습니다.
새로운 관리자 환경 만들기
1. routes 추가
1.1 route/web.php에 관리자 추가하기
Route::group(['prefix' => 'admin', 'as' => 'admin.', 'middleware' => 'admin', 'namespace' => '\App\Http\Controllers\Admin'], function () {
Route::get('/', 'DashboardController@dashboard');
});
1.2. DashboardController 생성
App\Http\Controllers\Admin\DashboardController.php
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
class DashboardController extends Controller
{
public function __construct()
{
}
public function dashboard(Request $request)
{
return view('admin/dashboard');
}
}
1.3. dashboard.blade.php
resources/views/admin/dashboard.blade.php 생성
<x-dynamic-component component="pondol-common::common-admin" :path="['Dashboard']">
<div id="content">
</div>
@section('styles')
@parent
@endsection
@section('scripts')
@parent
@endsection
</x-dynamic-component>
위와 같이 설정하고 admin으로 접근하면 현재 install한 기타 패키지들이 들이 출력됩니다.
예로 wangta69/laravel-auth 가 install 되어 있으면 [회원관리] 가 Lnb에 출력됩니다.
관리자단 > 회원관리 > 회원 을 클릭하면 아마 아래와 링크로 이동될 것입니다.
https://your_domain/auth/admin/users
패키지별 url에 변경하기
지금 설명하려는 것은 auth/admin/users -> admin/auth/users 처럼 현재 admin 이후루 url을 변경하는 방법입니다.
각 패키마다 별도의 config 파일이 생성되는데 wangta69/laravel-auth 의 경우 아래와 같은 config 화일이 존재 합니다.
- config/pondol-auth.php
<?php
return [
'roles' => [
'default_role' => 'user'
],
'route_auth'=>[
'prefix'=>'',
'as'=>'',
'middleware'=>['web'],
],
'route_auth_admin'=>[
'prefix'=>'auth/admin',
'as'=>'auth.admin.',
'middleware'=>['web', 'admin'],
],
'component' => ['admin'=>['layout'=>'pondol-common::common-admin', 'lnb'=>'pondol-auth::lnb-partial']],
'redirect_after_login' => ['administrator'=> '/admin', 'manager' => '/', 'user' => '/'],
'default_redirect_path' => '/home',
];
'route_auth_admin'=>[
'prefix'=>'admin/auth', // <!-- auth/admin
'as'=>'auth.admin.',
'middleware'=>['web', 'admin'],
],
위처럼 적용하면 https://your_domain/auth/admin/users -> https://your_domain/admin/auth/users 로 변경됩니다.