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');
本帖由系统于 2周前 自动加精
song
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 18
月殇

牛皮牛皮

2周前 评论
MushishiXian

来了来了,支持支持

2周前 评论

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

2周前 评论

厉害了厉害了

2周前 评论
fantasticcat

支持!

2周前 评论
qingyan233

:+1:

2周前 评论
likunyan

手动支持

2周前 评论

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

1周前 评论

松哥牛批 :smile:

1周前 评论

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

1周前 评论
生活无限好: 1.7 bug 有点多,我已经回退到 1.6.15 了,打算过段时间了再升级 1周前
chuoke: 发现 selectedRows 也不能用了,自定义的几个操作用到了,都改成 $.admin.grid.selected() 1周前
chuoke: @生活无限好 版本没控制好,升上来了就不想降了,发现没啥大问题,正好通过问题来深入了解 1周前

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

5天前 评论
song: 是的,这两个组件移除了,你可以使用wangEditorlatlong这两个扩展代替 3天前
kitty_time: 哦,好的,谢谢 2天前
flyCow

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

3天前 评论

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

2天前 评论

支持支持

2天前 评论

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

10小时前 评论

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!