Laravel-admin 发布 1.6.0 版本,以及近期的一些更新
在过去的这段时间里,laravel-admin发布了v1.5.16
、v1.5.19
、v1.6.0
等几个版本,在这里对这几个版本中比较大的更新,做一下总结
数据详情页
在版本v1.5.16
中增加了model-show
用来显示数据详情
class UserController extends Controller
{
public function show($id, Content $content)
{
$show = new Show(User::findOrFail($id));
$show->name();
$show->avatar()->image();
$show->username();
$show->email();
$show->created_at();
$show->updated_at();
return $content
->header('Title')
->description('Description...')
->body($show);
}
}
对于一对一关系,用下面的方式来实现
$show->profile(function ($profile) {
$profile->homepage()->link();
$profile->mobile();
$profile->gender();
$profile->birthday();
$profile->age();
$profile->created_at();
$profile->updated_at();
});
对于一对多关系
$show->friends(function ($friend) {
$friend->name();
$friend->email();
});
效果参考demo
重构过滤器
在v1.5.18
版本中重构了过滤器的样式,从原来的弹出modal,改为了嵌入表格头部,并且可以展开和收起,另外为了解决过滤器过多导致的页面太长的问题,增强了表单多列布局的功能
$filter->column(1/2, function ($filter) {
$filter->like('title');
$filter->between('rate');
});
$filter->column(1/2, function ($filter) {
$filter->equal('created_at')->datetime();
$filter->between('updated_at')->datetime();
});
用上面的代码即可实现下图的效果
有时候你可能想要定义一些常用的查询范围,能方便快速的查询到这个常用的范围,可以通过新增的scope
方法实现
$filter->scope('male', '男性')->where('gender', 'm');
// 多条件查询
$filter->scope('new', '最近修改')
->whereDate('created_at', date('Y-m-d'))
->orWhere('updated_at', date('Y-m-d'));
// 关联关系查询
$filter->scope('address')->whereHas('profile', function ($query) {
$query->whereNotNull('address');
});
$filter->scope('trashed', '被软删除的数据')->onlyTrashed();
上面的代码将会在筛选按钮的右边生成一个下来菜单,点击菜单即可执行相应的查询,效果参考下面
有些场景下,对同一个字段有多种查询方式,对分数字段score
的>
、<
、=
查询, 通过新增的group
方法实现
$filter->group('score', function ($group) {
$group->equal('等于');
$group->gt('大于');
$group->lt('小于');
});
实现类似下图的效果
增强命令行工具
在v1.5.19
版本中增强了命令行工具,增加了三个命令admin
、admin
、admin:create-user
、admin:reset-password
, 并且增强了admin:make
命令,它将会根据模型对应的表的字段来生成列表页、详情页、表单页相应的代码,
详情参考命令行工具
扩展开发
其实laravel-admin
在很早的版本里面就已经支持三方扩展了,只不过一直没有时间来对这一块进行完善和推动,所以这一块的功能一直停滞不前.
在v1.6.0
版本中最大的更新就是对laravel-admin
的第三方扩展做了增强,在这个版本中增加了一个admin:extend
命令用来生成laravel-admin
扩展骨架,根据文档可以快速的开发出一个通用的laravel-admin
扩展, 详细可参考扩展开发.
目前已经可用的扩展有下面一些:
Extension | Description | laravel-admin |
---|---|---|
helpers | 开发帮助工具 | ~1.5 |
media-manager | 本地文件管理器 | ~1.5 |
api-tester | Laravel api测试工具 | ~1.5 |
scheduling | 定时任务管理 | ~1.5 |
redis-manager | 一个Redis 管理器 | ~1.5 |
backup | 备份管理 | ~1.5 |
log-viewer | Laravel日志查看 | ~1.5 |
config | 配置管理 | ~1.5 |
reporter | 异常查看 | ~1.5 |
wangEditor | 一个基于 wangeditor 的富文本编辑器 | ~1.6 |
summernote | 一个基于 summernote 的富文本编辑器 | ~1.6 |
china-distpicker | 一个基于distpicker的中国省市区选择器 | ~1.6 |
simplemde | 一个基于 simplemde 的markdown编辑器 | ~1.6 |
phpinfo | 将phpinfo 页面集成进laravel-admin 中 |
~1.6 |
在Laravel nova
发布的不到一个月的时间里,就已经有了上百个扩展了,在这方面laravel-admin
的生态落后很多, 我希望如果大家在使用laravel-admin
的过程中,有实现一些扩展功能,不妨按照上面的文档包装成一个laravel-admin
扩展,共享给更多人使用, 另外大家如果有好的idea,也不妨分享出来,其它有时间有精力的同学或许可以和你一起实现它,laravel-admin
需要更多人的参与才能形成更好的生态系统。
不久的将来,laravel-admin
将会尝试参考fastadmin的方式,将部分扩展组件商业化, 同样欢迎大家参与!
本作品采用《CC 协议》,转载必须注明作者和本文链接
加油!
第一次用laravel做后台随便选择一款,就选择了laravel-admin,打开xxx/admin登陆前觉得估计也就看看而已,打开用了一会后,发现喜欢上了laravel-admin
可以的,我现在的项目就在用这个后台,其实已经很不错了,支持继续优化,到时候像fastadmin那样子的模式我肯定会支持一份,如果能像fastadmin那样别太贵就好哈哈
有时间和idea的 同学们可以参与laravel-admin。的确好用。
正在用,支持!!
@song 响应大牛号召,写了一个 Code editor extension for laravel-admin。
地址:https://github.com/jxlwqq/code-mirror
现在1.5.15 直接升级1.6.0 会有比较大的影响不。自己自定义了一下过滤查询
之前抱着学习的态度,“抄”了一遍1.2版本的代码,前端改用layui,,那时候,我就是把过滤表单放在表格顶部,然后可以展开和收起~~~
预览功能做弹出层会比较好一点,这个框架主要是交互的问题,其他都相当完善了。
编辑操作能不能改为弹出的模态框形式,直接进入新页面回去后还得重新翻页找那一条数据去
赞,用Laravel admin做了不少项目后台 , 也从源码里借鉴了许多实现方式
@侧面 @eiomi @Tinywind @largezhou @DianWang @carlclone 谢谢支持!
@MushishiXian 肯定不会太贵
@jxlwqq 给你的效率点赞!
@keer 影响不大,更新之前可以备份一下
@sand 感觉不太好实现
非常好用,期间用了fastadmin,但还是喜欢laravel admin这种传统的页面切换的后台界面
@sand 如果用layui的话,很好实现,layer.open打开编辑链接就可以了.可以把原edit关闭,自己引用layer,封装一个open函数,然后使用
这个是真的好用,希望啥时候把adminlte升级到2.4.*
laravel-admin的页面引擎可以单独抽出来吗,简直是效率神器
@terranc fastadmin个人感觉不习惯,laravel admin干净。操作方便。 :+1:
之前看过Laravel Admin的源码,后面没什么时间就放弃掉了,项目都直接用的fastadmin。如果后续能就这个框架的结构出几篇文章就更好了,能更加深入这个后台。
支持,正在使用
用fastadmin开发了很多东西,laravel-admin只简单的试用过,能fastadmin化当然更好,多一个选择,laravel生态也比tp完整。
根据下拉框选项得不同来显示不同得表单
我们公司的后台也一直都使用的这个后台,棒棒哒。
可以考虑加入 layui 解决 一部分交互问题
3.1版本的导出到excel可以默认选择筛选过后的结果?