广告
返回顶部
首页 > 资讯 > 前端开发 > html >怎么使用Laravel admin后台管理插件
  • 283
分享到

怎么使用Laravel admin后台管理插件

2024-04-02 19:04:59 283人浏览 独家记忆
摘要

本篇内容主要讲解“怎么使用Laravel admin后台管理插件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Laravel admin后台管理插件”吧

本篇内容主要讲解“怎么使用Laravel admin后台管理插件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Laravel admin后台管理插件”吧!

  创建 Laravel 项目

  laravel-admin是一个基于laravel的后台管理开发框架,能帮助你使用很少的时间和代码量开发出功能完备的管理后台,另外它作为一个三方包,可以和框架内其它项目并行开发,真正做到前后台开发分离。

  我们根据官方文档走,创建一个 Laravel 项目还是很简单的:

  // 使用 Composer 下载 Laravel 安装程序

  composer global require "laravel/installer"

  // 创建 WEB 项目

  laravel new web

  具体配置数据库等:略

  安装 laravel-admin

  laravel-admin 是一个可以快速帮你构建后台管理的工具,它提供的页面组件和表单元素等功能,能帮助你使用很少的代码就实现功能完善的后台管理功能。

  注:当前版本(1.5)需要安装 PHP 7+和 Laravel 5.5

  看看 laravel-admin 的特性:

  内置用户和权限系统

  model-grid 支持快速构建数据表格

  model-fORM 支持快速构建数据表单

  model-tree 支持快速构建树状数据

  内置 40+ 种 form 元素组件、以及支持扩展组件

  支持 Laravel 的多种模型关系

  MysqlmongoDB、pgsql 等多数据库支持

  支持引入第三方前端

  数据库和 artisan 命令行工具的 web 实现

  支持自定义图表

  多种常用 web 组件

  支持本地和 oss 文件上传

  有了这些功能,开发一个后台管理系统就变得相对简单了。

  安装插件:

  composer require encore/laravel-admin "1.5.*"

  // 发布资源:

  php artisan vendor:publish --provider="Encore\Admin\AdminServiceProvider"

  // 安装

  php artisan admin:install

  简单的三条命令,即可配置好一个简单的后台管理系统,账号和密码都是 admin

  代码主要集中在\APP\Admin中

  默认系统提供了一个 Dashboard 界面:

  namespace App\Admin\Controllers;

  use App\Http\Controllers\Controller;

  use Encore\Admin\Facades\Admin;

  use Encore\Admin\Layout\Column;

  use Encore\Admin\Layout\Content;

  use Encore\Admin\Layout\Row;

  class HomeController extends Controller

  {

  public function index()

  {

  return Admin::content(function (Content $content) {

  $content->header('Test Dashboard');

  $content->description('Description...');

  $content->row(Dashboard::title());

  $content->row(function (Row $row) {

  $row->column(4, function (Column $column) {

  $column->append(Dashboard::environment());

  });

  $row->column(4, function (Column $column) {

  $column->append(Dashboard::extensions());

  });

  $row->column(4, function (Column $column) {

  $column->append(Dashboard::dependencies());

  });

  });

  });

  }

  }

  结合界面和代码,可以看出界面主要分成这么几个部分:header、description、两个 row,后一个 row 包含三个 column 模块;具体的代码放在 Dashboard 代码中,如下:

  namespace Encore\Admin\Controllers;

  use Encore\Admin\Admin;

  class Dashboard

  {

  

  public static function title()

  {

  return view('admin::dashboard.title');

  }

  

  public static function environment()

  {

  $envs = [

  ['name' => 'PHP version', 'value' => 'PHP/'.PHP_VERSION],

  ['name' => 'Laravel version', 'value' => app()->version()],

  ['name' => 'CGI', 'value' => php_sapi_name()],

  ['name' => 'Uname', 'value' => php_uname()],

  ['name' => 'Server', 'value' => array_get($_SERVER, 'SERVER_SOFTWARE')],

  ['name' => 'Cache driver', 'value' => config('cache.default')],

  ['name' => 'Session driver', 'value' => config('session.driver')],

  ['name' => 'Queue driver', 'value' => config('queue.default')],

  ['name' => 'Timezone', 'value' => config('app.timezone')],

  ['name' => 'Locale', 'value' => config('app.locale')],

  ['name' => 'Env', 'value' => config('app.env')],

  ['name' => 'URL', 'value' => config('app.url')],

  ];

  return view('admin::dashboard.environment', compact('envs'));

  }

  

  public static function extensions()

  {

  $extensions = [

  'helpers' => [

  'name' => 'laravel-admin-ext/helpers',

  'link' => 'https://GitHub.com/laravel-admin-extensions/helpers',

  'icon' => 'gears',

  ],

  'log-viewer' => [

  'name' => 'laravel-admin-ext/log-viewer',

  'link' => 'https://github.com/laravel-admin-extensions/log-viewer',

  'icon' => 'database',

  ],

  'backup' => [

  'name' => 'laravel-admin-ext/backup',

  'link' => 'https://github.com/laravel-admin-extensions/backup',

  'icon' => 'copy',

  ],

  'config' => [

  'name' => 'laravel-admin-ext/config',

  'link' => 'https://github.com/laravel-admin-extensions/config',

  'icon' => 'toggle-on',

  ],

  'api-tester' => [

  'name' => 'laravel-admin-ext/api-tester',

  'link' => 'https://github.com/laravel-admin-extensions/api-tester',

  'icon' => 'sliders',

  ],

  'media-manager' => [

  'name' => 'laravel-admin-ext/media-manager',

  'link' => 'https://github.com/laravel-admin-extensions/media-manager',

  'icon' => 'file',

  ],

  'scheduling' => [

  'name' => 'laravel-admin-ext/scheduling',

  'link' => 'https://github.com/laravel-admin-extensions/scheduling',

  'icon' => 'clock-o',

  ],

  'reporter' => [

  'name' => 'laravel-admin-ext/reporter',

  'link' => 'https://github.com/laravel-admin-extensions/reporter',

  'icon' => 'bug',

  ],

  'translation' => [

  'name' => 'laravel-admin-ext/translation',

  'link' => 'https://github.com/laravel-admin-extensions/translation',

  'icon' => 'language',

  ],

  ];

  foreach ($extensions as &$extension) {

  $name = explode('/', $extension['name']);

  $extension['installed'] = array_key_exists(end($name), Admin::$extensions);

  }

  return view('admin::dashboard.extensions', compact('extensions'));

  }

  

  public static function dependencies()

  {

  $JSON = file_get_contents(base_path('composer.json'));

  $dependencies = json_decode($json, true)['require'];

  return view('admin::dashboard.dependencies', compact('dependencies'));

  }

  }

  这样我们就把代码分块的组织在一起。具体布局类看:class Content implements Renderable

  其它的静态资源文件放在 /public/vendor/laravel-admin 目录下

  禁用创建按钮

  $grid->disableCreateButton();

  禁用分页条

  $grid->disablePagination();

  禁用查询过滤器

  $grid->disableFilter();

  禁用导出数据按钮

  $grid->disableExport();

  禁用行操作列

  $grid->disableActions();

  设置分页选择器选项

  $grid->perPages([10, 20, 30, 40, 50]);

  model-grid默认有两个行操作编辑和删除,可以通过下面的方式关闭它们:

  $grid->actions(function ($actions) {

  // 隐藏删除按钮

  $actions->disableDelete();

  // 隐藏修改按钮

  $actions->disableEdit();

  });

  如果有自定义的操作按钮,可以通过下面的方式添加:

  $grid->actions(function ($actions) {

  // append一个操作

  $actions->append('');

  // prepend一个操作

  $actions->prepend('');

  });

  获取主键信息或者获取当前行的数组

  $grid->actions(function ($actions) {

  // 当前行的数据数组

  $row = $actions->row;

  // 获取当前行主键值

  $id = $actions->geTKEy();

  });

  复制代码目前默认实现了批量删除操作的功能,如果要关掉批量删除操作:

  $grid->tools(function ($tools) {

  $tools->batch(function ($batch) {

  $batch->disableDelete();

  });

  });

  查询过滤Filter:如下

  $grid->filter(function ($query) {

  // 去掉默认的id过滤器

  $query->disableIdFilter();

  $query->like('title', '文章标题');

  $query->equal('cate_id', '所属分类')->select(

  ArticleCateGories::pluck('name', 'id')

  );

  });

  form的一些小技巧 :

  $form->text('from', '文章来源')->rules('required') //可以加rules验证规则

  $form->image('thumb', '文章缩略图')->uniqueName()

  ->move('upload/article/' . date("Ymd"))

  ->options(['overwriteInitial' => true]);//代表新图片替换修图片

  ->uniqueName() //为随机名称

  //保存前回调

  $form->saving(function (Form $form) {

  });

  //保存后回调

  $form->saved(function (Form $form) {

  });

  设置表单提交的action

  $form->setAction('admin/users');

  获取URL中的id

  $shopId = request()->route()->parameter('shop');

  当为添加操作时,店铺名称不可和数据库内其他数据重复

  当为修改操作时,店铺名称除自己外不可和数据库内其他数据重复

  if ($shopId) {无锡人流医院哪家好 http://www.bhnnkyy120.com/

  $form->text('shop_name', '店铺名称')

  ->rules("required|unique:shops,shop_name,{$shopId},id");

  } else {

  $form->text('shop_name', '店铺名称')

  ->rules("required|unique:shops");

  }

  进入grid表格时,默认id倒序

  $grid->model()->orderBy('id', 'desc');

  多图片上传

  昨天有个朋友在开发一个功能的时候,因为需要用到多图上传,问我Laravel_admin怎么做多图片上传,所以我也是查看文档,但是官方文档基本没谈到,最后还是在外网上找到,今天向大家分享有关使用小技巧。

  我们可以在表单中这样引用多图上传,代码如下:

  $form->multipleImage('images', '图册')->help('请上传图片格式')->removable();

  但是我们用到removeable()方法需要注意在form表单中不能使用MessageBag方法。

  然后在数据模型中,我们必须这样定义两个方法,代码如下:

  public function getLogoAttribute($value)

  {

  return explode(',', $value);

  }

  public function setLogoAttribute($value)

  {

  $this->attributes['images'] = implode(',', $value);

  }

  完成以上操作,我们便成功的配置完多图上传。

到此,相信大家对“怎么使用Laravel admin后台管理插件”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: 怎么使用Laravel admin后台管理插件

本文链接: https://www.lsjlt.com/news/85384.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么使用Laravel admin后台管理插件
    本篇内容主要讲解“怎么使用Laravel admin后台管理插件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Laravel admin后台管理插件”吧...
    99+
    2022-10-19
  • 怎么使用Vundle管理Vim插件
    本篇内容介绍了“怎么使用Vundle管理Vim插件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Vundle(Vim bundle)是一个V...
    99+
    2023-06-27
  • 怎么用Java开发用户后台管理系统
    今天小编给大家分享一下怎么用Java开发用户后台管理系统的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。主要功能管理员登录功能...
    99+
    2023-06-26
  • 怎么在Linux上使用Vundle管理Vim插件
    这篇文章主要为大家展示了“怎么在Linux上使用Vundle管理Vim插件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么在Linux上使用Vundle管理Vim插件”这篇文章吧。毋庸置疑,V...
    99+
    2023-06-16
  • 怎么用css3制作网站后台管理面板
    这篇文章主要讲解了“怎么用css3制作网站后台管理面板”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用css3制作网站后台管理面板”吧!HTML结构代码...
    99+
    2022-10-19
  • 怎么使用Vuex实现Vue后台管理中的角色鉴权
    这篇文章主要介绍“怎么使用Vuex实现Vue后台管理中的角色鉴权”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用Vuex实现Vue后台管理中的角色鉴权”文章能帮助大家解决问题。功能分析在常见管...
    99+
    2023-06-30
  • Laravel怎么使用Observer实现日志管理模块
    这篇文章主要介绍“Laravel怎么使用Observer实现日志管理模块”,在日常操作中,相信很多人在Laravel怎么使用Observer实现日志管理模块问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Lar...
    99+
    2023-06-20
  • 服务器管理软件怎么使用
    服务器管理软件通常是用来管理服务器的软件,使用方法因软件而异。一般来说,使用服务器管理软件需要以下步骤:1. 下载并安装服务器管理软...
    99+
    2023-06-17
    服务器管理软件 服务器
  • 使用Java怎么编写一个酒店前台管理系统
    本文章向大家介绍使用Java怎么编写一个酒店前台管理系统的基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。Java可以用来干什么Java主要应用于:1. web开发;2. Android开发;3. 客户端开发;4....
    99+
    2023-06-06
  • 腾讯轻量应用服务器控制台怎么打开文件管理
    如果您在使用腾讯轻量应用服务器时想要打开文件管理,可以按照以下步骤进行操作: 打开轻量应用服务器控制台并输入命令: sudo apt install sudocloudfiles, sudo apt install sudodistri...
    99+
    2023-10-26
    腾讯 控制台 文件管理
  • Linux中怎么使用mc命令管理test文件
    今天小编给大家分享一下Linux中怎么使用mc命令管理test文件的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。mc命令用于...
    99+
    2023-06-27
  • 腾讯云轻量应用服务器控制台怎么打开文件夹管理
    如果您使用的是腾讯云轻量应用服务器(QQ游戏大厅),您可以在控制台中打开应用程序管理器来管理应用程序或文件夹。以下是您可以通过使用控制台打开应用程序管理器的步骤: 1.在控制台中点击“添加应用程序”选项。 2.在弹出的“添加应用程序到程序...
    99+
    2023-10-26
    腾讯 控制台 文件夹
  • 腾讯轻量应用服务器控制台怎么打开文件管理权限
    如果您在使用腾讯轻量应用服务器(QQ轻应用)时想要打开文件管理权限,您可以: 登录 QQ 轻应用服务管理器并使用 Web 登录。在服务管理器中,单击 QQ 应用程序,然后单击 QQ 应用程序管理器的 QQ 应用程序图标。 进入 QQ 应...
    99+
    2023-10-26
    腾讯 控制台 管理权限
  • 腾讯轻量应用服务器控制台怎么打开文件管理功能
    如果您使用的是腾讯轻量应用服务器(MQ),您可以通过以下步骤打开文件管理功能: 打开终端并登录进入您的终端应用。 右键单击您要使用的文件或文档,然后选择“打开”选项。 打开文件管理界面后,您可以通过双击打开或复制文件来打开您需要的文件。...
    99+
    2023-10-26
    腾讯 控制台 文件管理
  • win7怎么使用Outlook Express管理原始邮件及回复邮件
    本文小编分享win7系统下使用Outlook Express管理原始邮件及回复邮件的方法,win7系统使用Outlook Express收发邮件的时候,经常有一些邮件及回复邮件在内容上是相关的,但是在收件夹中却是零散存放...
    99+
    2023-05-20
    win7 Outlook
  • 升级win8.1后无法使用内置管理员账户打开怎么办
      升级Windows8.1系统后难免会遇到一些问题,比如win8.1无法使用内置管理员账户打开,遇到这种情况该怎么解决呢下面这篇文章将为大家介绍方法。      解决步骤如下:   在运行中输入...
    99+
    2023-06-03
    win8.1 内置管理员账户 内置 管理员 账户
  • 使用java怎么在控制台中实现一个学生信息管理系统
    使用java怎么在控制台中实现一个学生信息管理系统?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Java有哪些集合类Java中的集合主要分为四类:1、List列表:有序的,可重...
    99+
    2023-06-14
  • Qt怎么使用SQLite数据库存储管理图片文件
    今天小编给大家分享一下Qt怎么使用SQLite数据库存储管理图片文件的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1、效果演...
    99+
    2023-07-06
  • Win10系统怎么使用文件资源管理器命令参数?
    文件资源管理器想必大家并不陌生,几乎每个用电脑的人都得用到这个程序。虽说微软貌似想在Win10中使用Modern版的界面,但时至今日也未见动静,因此传统Win32版Explorer.exe还是目前的重点。 对于这个程序...
    99+
    2023-05-21
    Win10 资源管理器 命令
  • windows无法使用内置管理员账户怎么打开软件
    本篇内容主要讲解“windows无法使用内置管理员账户怎么打开软件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“windows无法使用内置管理员账户怎么打开软件”吧!无法使用内置管理员账户打开软...
    99+
    2023-07-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作