Laravel-admin 发布 1.6.0 版本,以及近期的一些更新

在过去的这段时间里,laravel-admin发布了v1.5.16v1.5.19v1.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();
});

用上面的代码即可实现下图的效果
wx20180909-211708
有时候你可能想要定义一些常用的查询范围,能方便快速的查询到这个常用的范围,可以通过新增的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();

上面的代码将会在筛选按钮的右边生成一个下来菜单,点击菜单即可执行相应的查询,效果参考下面
wx20180909-212031

有些场景下,对同一个字段有多种查询方式,对分数字段score><=查询, 通过新增的group方法实现

$filter->group('score', function ($group) {
    $group->equal('等于');
    $group->gt('大于');
    $group->lt('小于');
});

实现类似下图的效果
wx20180909-212049

增强命令行工具

v1.5.19版本中增强了命令行工具,增加了三个命令adminadminadmin:create-useradmin: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 协议》,转载必须注明作者和本文链接
本帖由系统于 5年前 自动加精
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 24

第一次用laravel做后台随便选择一款,就选择了laravel-admin,打开xxx/admin登陆前觉得估计也就看看而已,打开用了一会后,发现喜欢上了laravel-admin

5年前 评论

可以的,我现在的项目就在用这个后台,其实已经很不错了,支持继续优化,到时候像fastadmin那样子的模式我肯定会支持一份,如果能像fastadmin那样别太贵就好哈哈

5年前 评论
ThinkQ

有时间和idea的 同学们可以参与laravel-admin。的确好用。

5年前 评论

@song 响应大牛号召,写了一个 Code editor extension for laravel-admin。

地址:https://github.com/jxlwqq/code-mirror

5年前 评论

现在1.5.15 直接升级1.6.0 会有比较大的影响不。自己自定义了一下过滤查询

5年前 评论

之前抱着学习的态度,“抄”了一遍1.2版本的代码,前端改用layui,,那时候,我就是把过滤表单放在表格顶部,然后可以展开和收起~~~

5年前 评论
DianWang

预览功能做弹出层会比较好一点,这个框架主要是交互的问题,其他都相当完善了。

5年前 评论

编辑操作能不能改为弹出的模态框形式,直接进入新页面回去后还得重新翻页找那一条数据去

5年前 评论

赞,用Laravel admin做了不少项目后台 , 也从源码里借鉴了许多实现方式

5年前 评论

@侧面 @eiomi @Tinywind @largezhou @DianWang @carlclone 谢谢支持!

@MushishiXian 肯定不会太贵

@jxlwqq 给你的效率点赞!

@keer 影响不大,更新之前可以备份一下

@sand 感觉不太好实现

5年前 评论

非常好用,期间用了fastadmin,但还是喜欢laravel admin这种传统的页面切换的后台界面

5年前 评论
wenber

@sand 如果用layui的话,很好实现,layer.open打开编辑链接就可以了.可以把原edit关闭,自己引用layer,封装一个open函数,然后使用

5年前 评论

这个是真的好用,希望啥时候把adminlte升级到2.4.*

5年前 评论

laravel-admin的页面引擎可以单独抽出来吗,简直是效率神器

5年前 评论
ThinkQ

@terranc fastadmin个人感觉不习惯,laravel admin干净。操作方便。 :+1:

5年前 评论
ibucoin

之前看过Laravel Admin的源码,后面没什么时间就放弃掉了,项目都直接用的fastadmin。如果后续能就这个框架的结构出几篇文章就更好了,能更加深入这个后台。

5年前 评论
tudou

支持,正在使用

5年前 评论

用fastadmin开发了很多东西,laravel-admin只简单的试用过,能fastadmin化当然更好,多一个选择,laravel生态也比tp完整。

5年前 评论

根据下拉框选项得不同来显示不同得表单

5年前 评论
superwen

我们公司的后台也一直都使用的这个后台,棒棒哒。

5年前 评论

可以考虑加入 layui 解决 一部分交互问题

5年前 评论

3.1版本的导出到excel可以默认选择筛选过后的结果?

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!