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:
支持 :+1: :+1: Laravel-admin用起来还是比较舒服的
文档链接错了
支持 :kissing_heart:
支持一个,👍
支持 :+1:
插个眼 支持下
:+1:
赞!
:+1: :+1: :+1: 必须支持!
:+1:
:+1:
展示下:
强强强
目前支持laravel 6.0吗?
markmark
不错不错 :+1:
:+1:
一库
666
支持
没rbac 无法升级 除非拓展出来了
大佬还是大佬,坚决支持
不支持1.x升级,那就得新项目才能尝试了。支持楼主了!
支持!!!谢谢laravel-admin让我有了更多的摸鱼时间。我是说学习时间!
松哥牛!!!
:+1:
支持 :+1: :+1: :+1:
靠谱 :
感谢 z-song
又要学习了
:+1:
@song 这个例子里的
2
是不是应该是数字, 而不是字符串.感谢~ :+1:
@song 页签功能个不错的功能。例如:
支持 👍👍👍
点击admin/auth/users路由的时候会报错,src下Table.php文件中第505行的
HTML);需要改成
HTML
);
因为你前面使用了heredoc语法,我本地测试是报错
支持一波,移动 rbac 正解,这个还是留给用户自行实现的好。正好本人有个项目未上线(其实是离上线还有不少距离),可以同步测试。
强烈要求回复加入 RBAC 模块
感谢松哥,辛苦了!
支持
支持
希望支持form和view的复杂布局,比如tab和column的混合,view也可以支持tab和column的布局。
:+1: 支持支持
今天测试了一下,界面变化有些大。
:+1: :+1: :+1:
我是在laravel 8里面测试的
问题解决了,问题出在我自己的代码里了。以下代码调用了两次
$table->column('avatar')
,导致头像没显示……刚刚发现的,把倒数第4行的删掉就正常了这次是label标签没显示出来,不知道哪儿有问题

左图是v1版本,角色名称显示为灰色的标签;右图是laravel-admin v2版本,鼠标所指的角色名称没有标签效果
以下是我的控制器代码截图
我在email字段、roles字段上都调用了label()函数,两个字段都没有标签效果
@song beta2 之后引入前端资源的功能似乎失效了, 一直报
Vue is not defined
bootstap
里的代码:view 页面的代码
报错截图
js 文件已加载
反馈个问题:table左上角的全选checkbox不起作用,之前的批量删除按钮没有出来
支持一波,不过感觉RBAC模块还是挺有用的,如果可以独立出来就最棒了
RBAC 模块很需要,建议保留
强烈支持!
环境:Windows 10 + nginx 1.19 + PHP 7.4.7 + Laravel 7.27 + Laravel-admin 2.0.0-beta1
表单联动问题或者说期望功能实现:
PHP代码:
初始效果:
期望初始效果:
目前的情况是不管初始值是什么,都是需要点击后才能触发显示相对于的表单组件。
也许我的使用姿势不正确,望告知。谢谢。
laravel wechat admin 呢
@ilham 你说的不是同一个人开发的吧。
label()标签显示不能用
没有RBAC是不是应该考虑换个名子?
支持7吗?
为什么将权限控制模块去掉呢?
什么时候出正式版?权限功能怎么去掉了?
坐等2.0正式版发布
2.0怎么没有权限管理?需要额外安装吗?
没有权限功能太难了吧。。。
快1年了‘;还在维护吗?
点击图片放大的组件不能安装有办法解决么大佬
属于到过这个问题,在单选的时候
楼主现在稳定了吗 支持直接从1升级到2了吗