gogilo/admin

Laravel的Bootstrap CMS

此软件包的规范仓库似乎已消失,因此该软件包已被冻结。

安装: 237

依赖项: 1

建议者: 0

安全: 0

星级: 0

关注者: 1

分支: 0

开放问题: 0

语言:HTML

dev-master 2019-04-04 05:57 UTC

This package is auto-updated.

Last update: 2020-04-04 08:12:47 UTC


README

此软件包是一个包含所有常用功能的laravel网站的Content Management System。它具有一个完整的后台管理系统,并使用Laravel 5.*, bootstrapCSS, jquery, fontawesome, DataTables, Tinymce等。

它非常简单易用。用户只需要创建一个使用blade模板的主题即可。

安装

通过Composer

composer require gogilo/admin

或者

您也可以按照以下方式更新您的composer.json

"require": {
    "gogilo/admin": "dev-master"
}

然后运行

composer update

将服务提供者添加到提供者列表中

对于使用Laravel 5.5及更高版本的用户,这一步是可选的,因为该软件包可以通过laravel被发现。但如果你禁用了该软件包的可发现性或如果你使用的是Laravel的较低版本,你总是可以在config/app.php文件中添加此服务提供者到你的服务提供者列表中。

Ogilo\Admin\AdminServiceProvider::class,

处理对管理路由的访客访问

为了确保用户在尝试访问管理页面时被引导到正确的登录页面,请在app/Exceptions/Handler.php中修改unauthenticated()函数,添加以下内容:

if(is_admin_path()){
    return redirect()->guest('admin/login');
}

如果该函数已经在你的异常处理类中,你可以直接添加以下函数来覆盖继承的函数。

protected function unauthenticated($request, \Illuminate\Auth\AuthenticationException $exception)
{
    if(is_admin_path()){
        return redirect()->guest('admin/login');
    }
    
    if ($request->expectsJson()) {
        return response()->json(['error' => 'Unauthenticated.'], 401);
    }

    return redirect()->guest('login');
}

安装或更新

运行artisan admin:intsal/admin:update命令,为CMS创建所有必要的表,包括所有角色和用户表,并发布所有必需的资源;

此命令将安装所有前端组件,创建必要的数据库结构(执行迁移),并发布软件包所需的必要资源。

php artisan admin:install

每次更新gogilo/admin后,都必须运行admin:update命令,这将修复任何数据库结构更改,任何主题更改,并执行任何必要的清理/维护。

php artisan admin:update

守卫和认证提供者

更新config/auth.php文件以包含管理员提供者和管理员守卫

将以下内容添加到你的认证提供者列表中:

'admins' => [
    'driver' => 'eloquent',
    'model' => Ogilo\Admin\Models\Admin::class,
],

将以下内容添加到你的守卫列表中:

'admin' => [
    'driver' => 'session',
    'provider' => 'admins',
],

扩展Admin

您可以通过创建自己的自定义内容类型并向您创建的内容类型提供链接,轻松地向CMS的admin部分添加更多项目。它可以是你的应用程序的一部分,通过添加一些控制器、模型和视图来实现。

路由

确保你的路由被“auth:admin”守卫保护

示例
Route::group(['middleware'=>'auth:admin','prefix'=>'admin','as'=>'admin'],function(){
    Route::get('',['as'=>'-example','uses'=>'SomeController@someMethod']);
});

这将创建一个名为admin-example的路由,uri为/admin/example

菜单

通过将项目添加到admin.menu配置中,将其添加到管理菜单/导航中。您应该在应用程序/包的服务提供者的boot方法中执行此操作。

示例
class AppServiceProvider{
    ...
    function boot(){
        config(['admin.menu.admin-example'=>'Examples']);
    }
    ...
}

视图

您的视图应该

  1. 扩展admin::layout.main。
  2. 在您的视图中包含以下部分:i) 标题 ii) 页面标题 iii) 面包屑 iv) 侧边栏 v) 内容 vi) 样式 vii) scripts_top viii) scripts_bottom
示例
@extends('admin::layout.main')

@section('title')
    Title
@endsection

@section('page_title')
    <i class="fa fa-list-alt"></i> Item
@endsection

@section('breadcrumbs')
    @parent
    <li class="active"><span><i class="fa fa-list-alt"></i> Item</span></li>
@endsection

@section('sidebar')
    @parent
    {{-- @include('admin::some-additional sidebar items') --}}
@endsection

@section('content')
    Put content details
@endsection

@section('styles')
    <style type="text/css">
        
    </style>
@endsection
@section('scripts_top')
    <script type="text/javascript">
        
    </script>
@endsection

@section('scripts_bottom')
    <script type="text/javascript">
    
    </script>
@endsection

反馈表单处理

通过将数据提交到Laravel中的contact/post或contact-post路由来提交反馈。需要提交以下参数

url: domain.tld/contact/post
OR
url: {{ route('contact-post') }}
data: 
{
    "name": "appropriate name",
    "email": "email@example",
    "phone": "valid phone number",
    "comments": "some comment text"
}

姓名、电子邮件和评论字段是必需的。

响应

在提交评论时,您将获得用于错误或成功的json响应

错误
{
    "success": false,
    "message": "Additional error message"
}
成功
{
    "success": true,
    "message": "Success message"
}

您可以根据此响应进行处理并提供适当的响应。

视图中的输入字段

选择

要启用选择字段上的选择器,请在选择元素中包含以下属性

class="selectpicker" data-live-search="true" data-size="5"

示例

<select name="selectInput" class="selectpicker" data-live-search="true" data-size="5">
<option>Text 1</option>
<option>Text 2</option>
<option>Text 3</option>
<option>Text 4</option>
</select>

乔治·奥吉洛 info@gogilo.com https://www.gogilo.com +254711347184/+254735388704