Laravel-admin发布2.0BETA版本,欢迎使用和反馈

大家好,最近花了不少时间在laravel-admin的2.0版本的开发工作上面,目前开发工作基本完成,今天发布BETA版本,有兴趣的同学们可以尝试安装使用,如有遇到问题,可通过Github issue反馈。

安装:

composer require encore/laravel-admin:v2.0.0-beta1 -vvv

接下来的步骤参考文档完成安装。

主要调整和更新

下面是2.0beta版本的主要调整更新。

前端框架升级为AdminLTE3

AdminLTE3的整体样式,可以访问adminlte.io预览,其它前端依赖库也都基本升级到了最新的版本,比如Bootstrap升级为4.x版本。
这次升级最多的时间也是花费在这部分的开发工作上面,几乎所有的视图文件都需要调整,大部分的JS库调用同样需要调整,如果大家在使用过程中遇到相关的问题,欢迎反馈。

JS代码和PHP代码分离

在1.x版本中,使用大量的Admin::script()Admin::style()方法, 将JS和CSS代码嵌入页面中,实现一些前端交互效果,不仅影响开发效率,而且增加了后期的维护成本, 在新的版本中,参考了vuejs的思想,通过实现新的视图渲染机制实现JS代码和PHP的分离,比如之前在PHP代码中使用Admin::script()来实现表单组件初始化的方法,使用下面代码就可以实现了:

以表单slider组件的视图文件举例:

<input type="text" class="form-control {{$class}}" name="{{$name}}"  {!! $attributes !!} />

<script require="rangeSlider" @script>
    $(this).ionRangeSlider(@json($options));
</script>

<style>
   input {
       width: 200px;
   }
</style>

<script><style>标签中的代码,将会被提取编译,并实现Admin::script()Admin::style()同样的处理效果。

另外在1.x版本中,表单HasMany组件对于一些表单项类型不能友好支持的BUG, 在新的视图渲染机制下也得到了很好的解决。

关于这部分的详细使用方法,请参考视图渲染;

Grid重命名为Table

在2.0的版本中使用table命令数据表格,在控制器中的表格构建代码将调整为:

<?php

use App\Models\Post;
use Encore\Admin\Table;

class PostController extends AdminController 
{
    public function table()
    {
        $table = new Table(new Post());

        $table->column('id', 'ID');
        $table->column('title', '标题');

        return $table;
    }
}

其它数据表格的使用方法基本保持不变。

静态资源按需加载

在1.x版本中,所有的资源会一次性加载,如果引入了太多的前端库,会严重影响页面加载速度,在2.0版本中解决了这个问题,可以在任何地方使用Admin::js()Admin::css()方法,并且只有在进入页面是才会异步加载所需的资源,这样的话你的后台应用使用了再多的前端库,都不会有页面加载压力。

Form表单ajax异步提交

模型表单和数据表单的提交都调整为ajax异步提交,这个调整,解决了之前版本中,提交错误跳转回来是丢失表单数据的问题。

支持弹出模态框新建或编辑数据

这个功能是基于前两点的优化而实现的,也是很久以来,大家都希望实现的feature,只要使用下面的代码就可以简单开启:

$table->modalForm();

这样,在点击新建按钮和行编辑的时候,将会弹出模态框表单来进行数据的编辑,不再需要跳转的新的页面来编辑数据。

重构了表格的行内编辑功能

1.x版本中的表格行内编辑功能依赖X-editable库来实现,由于X-editable支持的编辑形式有限,所以在2.0版本中移除了X-editable,内置开发实现了基本的行内编辑功能,并且保持了和表单组件一致的方法命名,更加方便使用,具体使用参考文档行内编辑

移除了操作日志和RBAC模块

考虑到不是每个应用都需要这两个功能,所以在2.0版本中移除了这两个模块,后续会考虑将这两个模块封装成扩展的形式提供帮助,当然大家也可以按照自己的需求自行开发。

支持双击表格行来触发数据操作

2.0版本将支持通过双击表格行来触发数据操作, 下面是具体的使用方法

// 双击行跳转编辑页(或者模态框编辑)
$table->dblclick('edit');

// 双击跳转详情页
$table->dblclick('view');

// 双击触发删除操作
$table->dblclick('delete');

// 双击选中当前行
$table->dblclick('select');

注意事项

这次发布的是2.0-BETA公测版本,肯定有很多BUG存在,所以请尽量不要在生产环境使用,待BUG基本修复、功能稳定之后再发布2.0正式版本,有兴趣的同学可以自行安装体验,欢迎提供反馈意见以及feature request.

另外由于2.0版本涉及了大量底层结构的修改,将不支持从1.x版本直接升级,相关的扩展也需要后续更新兼容后才能使用.

本作品采用《CC 协议》,转载必须注明作者和本文链接
本帖由系统于 1周前 自动加精
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 44
ThinkCsly

展示下:

file

file

file

file

1周前 评论
cantinzing 1周前
荒街! 1周前
miaotiao 1周前
Jyunwaa 2天前

支持一下 :+1:

1周前 评论

支持 :+1: :+1: Laravel-admin用起来还是比较舒服的

1周前 评论

文档链接错了

1周前 评论
song (楼主) 1周前
lauwen

支持 :kissing_heart:

1周前 评论

支持一个,👍

1周前 评论

:+1:

1周前 评论
快乐壮

插个眼 支持下

1周前 评论

:+1: :+1: :+1: 必须支持!

1周前 评论
ThinkCsly

展示下:

file

file

file

file

1周前 评论
cantinzing 1周前
荒街! 1周前
miaotiao 1周前
Jyunwaa 2天前

强强强

1周前 评论

目前支持laravel 6.0吗?

1周前 评论
song (楼主) 1周前
Marrigan

markmark

1周前 评论

不错不错 :+1:

1周前 评论
colin_king

一库

1周前 评论
wanghan

支持

1周前 评论

没rbac 无法升级 除非拓展出来了

1周前 评论

大佬还是大佬,坚决支持

1周前 评论

不支持1.x升级,那就得新项目才能尝试了。支持楼主了!

1周前 评论

支持!!!谢谢laravel-admin让我有了更多的摸鱼时间。我是说学习时间!

1周前 评论

支持 :+1: :+1: :+1:

1周前 评论

靠谱 :

1周前 评论

感谢 z-song

1周前 评论

@song 这个例子里的 2 是不是应该是数字, 而不是字符串. file

1周前 评论
song (楼主) 1周前
ThinkCsly

@song 页签功能个不错的功能。例如:

file

1周前 评论

点击admin/auth/users路由的时候会报错,src下Table.php文件中第505行的
HTML);需要改成

HTML
);

因为你前面使用了heredoc语法,我本地测试是报错

1周前 评论

支持一波,移动 rbac 正解,这个还是留给用户自行实现的好。正好本人有个项目未上线(其实是离上线还有不少距离),可以同步测试。

1周前 评论

强烈要求回复加入 RBAC 模块 :joy:
感谢松哥,辛苦了!

1周前 评论
xiaoAgiao

支持

1周前 评论
lyxxxh

支持

4天前 评论

希望支持form和view的复杂布局,比如tab和column的混合,view也可以支持tab和column的布局。

4天前 评论

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