我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎么使用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 的多种模型关系

  mysql、mongodb、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后台管理插件”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

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

下载Word文档

猜你喜欢

怎么使用Vundle管理Vim插件

本篇内容介绍了“怎么使用Vundle管理Vim插件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Vundle(Vim bundle)是一个V
2023-06-27

怎么在Linux上使用Vundle管理Vim插件

这篇文章主要为大家展示了“怎么在Linux上使用Vundle管理Vim插件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么在Linux上使用Vundle管理Vim插件”这篇文章吧。毋庸置疑,V
2023-06-16

怎么用Java开发用户后台管理系统

今天小编给大家分享一下怎么用Java开发用户后台管理系统的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。主要功能管理员登录功能
2023-06-26

怎么使用Vuex实现Vue后台管理中的角色鉴权

这篇文章主要介绍“怎么使用Vuex实现Vue后台管理中的角色鉴权”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用Vuex实现Vue后台管理中的角色鉴权”文章能帮助大家解决问题。功能分析在常见管
2023-06-30

Laravel怎么使用Observer实现日志管理模块

这篇文章主要介绍“Laravel怎么使用Observer实现日志管理模块”,在日常操作中,相信很多人在Laravel怎么使用Observer实现日志管理模块问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Lar
2023-06-20

服务器管理软件怎么使用

服务器管理软件通常是用来管理服务器的软件,使用方法因软件而异。一般来说,使用服务器管理软件需要以下步骤:1. 下载并安装服务器管理软件,根据软件的安装向导进行安装。2. 启动软件,输入服务器的IP地址和登录凭证(用户名和密码)。3. 连接到
2023-06-17

PyQt5中怎么使用布局管理器来管理窗口部件

在PyQt5中,可以使用布局管理器来管理窗口部件的位置和大小。常用的布局管理器有QHBoxLayout、QVBoxLayout、QGridLayout等。以下是一个简单的示例,演示如何使用布局管理器来管理窗口部件:import sys
PyQt5中怎么使用布局管理器来管理窗口部件
2024-03-12

使用Java怎么编写一个酒店前台管理系统

本文章向大家介绍使用Java怎么编写一个酒店前台管理系统的基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。Java可以用来干什么Java主要应用于:1. web开发;2. Android开发;3. 客户端开发;4.
2023-06-06

Linux中怎么使用mc命令管理test文件

今天小编给大家分享一下Linux中怎么使用mc命令管理test文件的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。mc命令用于
2023-06-27

腾讯轻量应用服务器控制台怎么打开文件管理

如果您在使用腾讯轻量应用服务器时想要打开文件管理,可以按照以下步骤进行操作:打开轻量应用服务器控制台并输入命令:sudoaptinstallsudocloudfiles,sudoaptinstallsudodistributefile,sudoaptinstallsudofilefiles,etc.在终端中输入命令:sudoaptinstallsudocloudfiles,sudoappx
2023-10-26

win7怎么使用Outlook Express管理原始邮件及回复邮件

本文小编分享win7系统下使用Outlook Express管理原始邮件及回复邮件的方法,win7系统使用Outlook Express收发邮件的时候编程客栈,经常有一些vtAbFNkQhi邮件及回复邮件在内android容上是相关的,但是
2023-05-20

腾讯轻量应用服务器控制台怎么打开文件管理权限

如果您在使用腾讯轻量应用服务器(QQ轻应用)时想要打开文件管理权限,您可以:登录QQ轻应用服务管理器并使用Web登录。在服务管理器中,单击QQ应用程序,然后单击QQ应用程序管理器的QQ应用程序图标。进入QQ应用程序管理器,找到QQ轻应用程序并打开。在弹出的对话框中,选择您的应用程序,然后单击QQ文件管理器右上角的“文件”按钮。从文件管理器中打开QQ轻应用程序,即可访问该应用程序的文件夹
2023-10-26

腾讯云轻量应用服务器控制台怎么打开文件夹管理

如果您使用的是腾讯云轻量应用服务器(QQ游戏大厅),您可以在控制台中打开应用程序管理器来管理应用程序或文件夹。以下是您可以通过使用控制台打开应用程序管理器的步骤:1.在控制台中点击“添加应用程序”选项。2.在弹出的“添加应用程序到程序管理器”对话框中,请输入您的游戏大厅用户账号和密码。3.在弹出的“确定”对话框中,将您的游戏大厅账号和密码输入框中,点击“提交”。4.应用程序管理器将会开始
2023-10-26

升级win8.1后无法使用内置管理员账户打开怎么办

js升级Windows8.1系统后难免会遇到一些问题,比如win8.1无法使用内置管理员账户打开,遇到这种情况该怎么解决呢?下面这篇文章将为大家介绍方法。&androidnbsp; 解决步骤如下:在运行中输入:“gpedit.m
2023-06-03

腾讯轻量应用服务器控制台怎么打开文件管理功能

如果您使用的是腾讯轻量应用服务器(MQ),您可以通过以下步骤打开文件管理功能:打开终端并登录进入您的终端应用。右键单击您要使用的文件或文档,然后选择“打开”选项。打开文件管理界面后,您可以通过双击打开或复制文件来打开您需要的文件。如果您想要管理其他文件或文件夹,只需单击文件或文件夹并右键单击。然后选择您需要的打开方式,如“浏览”、“复制”或“打印”等。您需要确保文件或文件夹被正确地
2023-10-26

使用java怎么在控制台中实现一个学生信息管理系统

使用java怎么在控制台中实现一个学生信息管理系统?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Java有哪些集合类Java中的集合主要分为四类:1、List列表:有序的,可重
2023-06-14

Qt怎么使用SQLite数据库存储管理图片文件

今天小编给大家分享一下Qt怎么使用SQLite数据库存储管理图片文件的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1、效果演
2023-07-06

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录