Laravel-admin 发布 1.7.0 版本

Laravel-admin v1.7.0 版本发布,在这个版本中,有下面的修改和变更

框架#

  • 增加 Admin::favicon() 方法,用来设置网站的 favicon
  • 增加 Admin::style() 方法,用来给当前页面的加入 css 样式
  • 增加 Admin::html() 方法,用来给当前页面的加入 HTML 代码
  • Widget\Box 组件支持设置框内滚动条
  • 移除表格头部的刷新按钮,在页面导航的右上角增加刷新按钮

模型表格#

  • 增加快捷搜索功能,参考文档
  • 增加 Column::help() 方法,用来给列加上提示文字
  • 增加 Column::gravatar() 方法,用来通过邮箱显示 Gravatar 头像
  • 增加 Column::carousel() 方法,用来在列表显示一个图片轮播效果
  • 增加 Column::width() 方法,用来设置列的宽度
  • 增加 Column::hide() 方法,用来设置表格列默认不显示
  • 增加 Column::filezise() 方法来更友好的显示文件大小
  • 增加 Column::loading() 方法来更友好的显示 loading 状态
  • 支持显示 JSON 字段操作

模型详情#

  • 增加 Field::carousel() 方法,用来在详情页显示一个图片轮播效果
  • 增加 Field::filezise() 方法,用来更友好的显示文件大小

模型 Form#

  • 支持操作 JSON 字段
  • 表单删除文件增加确认提示框
  • 表单 checkbox 支持通过匿名函数设置 options
  • 表单项增加 updateRulescreationRules 方法,用来区分创建和更新场景的表单验证规则
  • 增加 File::retainable() 方法,用来设置删除数据的时候保留文件
  • listbox 支持通过 ajax 加载选项
  • 增加 Timezone 表单项,用来选择时区
  • 增加 KeyValue 表单项,用来操作 key-value 结构的数据
  • 增加 List 表单项,用来操作列表结构数据
  • 增加 Form::fieldset() 方法,用来将多个表单项分组显示
  • 增加 Checkbox::canCheckAll() 方法,用来给 checkbox 组件增加全选操作

组件 Form#

  • 增强 Widget\Form,方便 form 组件的数据处理,参考文档

命令#

  • 优化了 admin:make 命令,使得生成的控制器文件更加简洁
  • admin:make 命令增加 namespace 选项,用来设置创建的控制器的命名空间
  • 增加 admin:form 命令,用来生成 Form 类
  • 修复 CSS/JS 压缩命令 bug

配置#

  • 增加 enable_menu_search 配置,来控制左侧菜单搜索的显示
  • 增加 minify_assets.excepts 配置,用来排除不需要被压缩的资源文件

总结#

这个版本主要新增的 feature 包括下面几个

数据表单#

之前的版本中,定义了表单(Widget\Form)之后,需要再定义路由和对应的 action 来处理表单的提交数据,在这个版本中,简化了这一些步骤,例如下面的表单:

class Setting extends Form
{
    public $title = '配置';

    public function handle(Request $request)
    {
        //dump($request->all());

        return back();
    }

    public function form()
    {
        $this->text('title')->rules('required');
        $this->textarea('desc')->rules('required');
    }

    public function data()
    {
        return [
            'title'    => 'Laravel admin',
            'desc'     => 'Laravel admin...',
        ];
    }
}

表单提交之后请求会进入 handle 方法中,你可以在里面实现数据的处理逻辑。另外在它的基础上实现了选项卡表单和多步骤表单,更详细的使用参考文档

快捷搜索#

这个 feature 实现了除了定义 filter 之外的另外一种过滤数据的方式,支持使用类 Github 搜索语法来搜索数据表格中的数据,使用起来也非常方便

// 在grid中启用
$grid->quickSearch();

这样表头会出现一个搜索框:

WX20190608-093334

填入类 Github 搜索语法的内容来过滤数据,比如填入 username:%laravel% status:(1,2,3) 提交查询,表格的模型就会执行下面的查询

$model->where('username', 'like', '%laravel%')->whereIn('status', [1, 2, 3]);

更详细的使用参考文档

新增表单组件#

新增了 KeyValue 表单项来处理 key-value 类型的数据:

$form->keyValue('column_name');

新增了 List 表单项来处理一维数组类型的数据:

$form->list('column_name');
本作品采用《CC 协议》,转载必须注明作者和本文链接
本帖由系统于 5年前 自动加精
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 23

来了来了,支持支持

5年前 评论

最新版本在需要上传图片的地方,设为必须上传后,新增时可以,修改时图片信息丢失,提示图片不存在,需要重新上传

5年前 评论

厉害了厉害了

5年前 评论

手动支持

5年前 评论

必须支持,基本本人的所有 laravel 项目的后台都用的这个。

5年前 评论

有升级指南吗,我从 1.6.15 直接更新到 1.7,然后 gid 表格选择框不能用了
提示
$.admin.grid.select(id) Uncaught TypeError: Cannot read property 'select' of undefined

5年前 评论
22 5年前
chuoke (作者) 5年前
chuoke (作者) 5年前

1.7.0 版本 $formeditormap 都没了,是故意去掉的吗?只能自己手动扩展吗?

5年前 评论
song (楼主) 5年前
kitty_time (作者) 5年前
flyCow

作为一个优秀的后台管理系统,我觉得应该再加上多功能页面 TABS 的处理,而不只是单页面的跳转!
因为可能我在做某项数据增加的同时,还会同时查看相关其他数据表的列表内容,以辅助增加页面的操作!

5年前 评论

以前用过,新版本装完发现不会用了,最后还是用了 backpack,不过这货可自定义程度也没达到期望,有些特殊需求改起来比较费劲。

5年前 评论

$form->text ('group_name', ' 会员组名称 ')->rules (function ($form) {
if (!$id = $form->model()->id) {
return 'unique:users_group|required';
}
});
新版本这么使用会报错,提示 Invalid argument supplied for foreach ()

5年前 评论

用户设置页面上传头像的位置图片路径总是多一个 upload 怎么修改

5年前 评论

越来越完善了 有些地方还是很死板啊

5年前 评论

为什么升级后 grid 里面批量操作的功能不能使用了

5年前 评论
draven

牛逼牛逼!select 默认选中有了吗?

5年前 评论

创建控制器之后 index 方法没有了,在 gird 里面使用数据模型树会出现连两层视图

5年前 评论