本期视频登录后即可观看
Laravel Voyager 一个可以开箱即用的后台管理系统
Laravel Voyager 是一款极为有特色的管理后台系统,它将后台管理的逻辑全部在数据库中进行实现,这样就不会破坏程序和项目的目录结构,Voyager 为我们提供了完善的用户管理、权限管理、角色管理、文件管理、业务管理、日志管理等等各种功能
微信扫码登录
![](https://www.coding10.com/images/auth/default.png)
Laravel Voyager 是一款极为有特色的管理后台系统,它将后台管理的逻辑全部在数据库中进行实现,这样就不会破坏程序和项目的目录结构,Voyager 为我们提供了完善的用户管理、权限管理、角色管理、文件管理、业务管理、日志管理等等各种功能
站长 voyager怎么使用城市的三级联动呢?期待站长的回复
这方面的定制工作它却是跟Laravel Admin有差距,实现起来会复杂些,靠复写相关的视图文件来实现了(覆写指定model的edit-add.blade.php)
😀
voyager 我这边司机有两个角色 普通和vip 我在菜单编辑 里面 路由参数 {"type":"6"} public function scopeCurrentUser($query) { $type = request('type'); return $query->where('role_id',$type); } 我使用这个scope 但是编辑的时候确出现问题 就是编辑 没有携带scope 这个怎么办呢 站长
我用了缓存 $type = request('type');
if (Cache::has('driverType')){ if ($type && $type != Cache::get('driverType')){ Cache::forget('driverType'); } } $role_id = Cache::rememberForever('driverType', function (){ return request('type'); }); 不知道这样好不
我没怎么看明白要实现什么样的效果,是添加一个菜单,然后点击之后进入VIP的筛选列表吗???
怎么样了,解决了吗
用两个类目分别展示(普通用户 VIP用户 ) 表是同一张表 就是有个type(5/6 普通/vip)字段标识是vip 还是普通 筛选数据 然后实现BREAD 我用的缓存解决的
我是不是老了,感觉没太理解,你是不是通过菜单做两个展示页面,一个展示普通的司机,另一个展示vip司机??
是的 可能是我的表达有问题! 哈哈
长舒一口气,看来我的智商还在线,那其实用静态路由就可以了
静态路由 站长可以举个例子吗?
因为你要做的两个页面地址都是写死的,其实就是两个静态的URL,你可以创建一个静态的URL,然后把地址写好就型了,比如普通的司机你写成 http://www.xxx.com/driver/type/5 VIP的司机写成 http://www.xxx.com/driver/type/6,不就行了嘛
站长 voyager筛选的时候怎么加时间筛选呢?
自带的管理模板它还真的不支持这种范围式搜索,想实现的话只能自定义controller和index视图了,自定义的index视图里添加筛选的起始日期和结束日期,然后在controller里面添加筛选的逻辑
覆写browse.blade.php 这个文件
<div class="pull-right">
{{ $dataTypeContent->appends([
'start'=>'123',
's' => $search->value,
'filter' => $search->filter,
'key' => $search->key,
'order_by' => $orderBy,
'sort_order' => $sortOrder,
'showSoftDeleted' => $showSoftDeleted,
])->links() }}
这个好像只在翻页的时候有效 会带上start参数 搜索的时候不会 看网上可以实现 不知道怎么搞
站长可以给个范例吗?最近整的头疼 希望可以给个范例的 !!!!
你先搞别的问题去吧,这个我也试试
好的 谢谢站长 可以加你微信吗?
抱歉,微信就不见了吧,我社交软件全戒了,就别逼我破戒了,我今天看不了这个问题我明天肯定也会帮你研究一下这个问题的。
好的 谢谢 就是让帮忙也挺费心的 想小小的赞赏一下呢 !!! 那站长先忙的
昨天晚上没时间搞,早上我试了试,我一会儿发到你邮箱,其实很简单,需要咱们自己添加的核心代码也就 4 行,剩下的美化工作或者如果你不喜欢这种方案,也可以按照这个思路再搞一套。
好的 谢谢 站长
站长 voyager里面 富文本编辑器怎么汉化呢? 我在voyager 配置中 'additional_js' => [ 'js/voyager_tinymce.js', ], 在js文件中:language:'zh_CN',
但是 这个zh_CN的地址可以配置吗?
voyager各个model的查询显示内容可以不可以定制化,比如说,每个管理员只能看到自己在这个model下创建的数据,而看不到其他人创建的
文档中好像见过,可以定制,复写总览页面也可以实现
您好,站长,如果我有一个需求是:提交订单的时候,有三个表要插入数据,orders表会插入订单号,订单提交时间订单状态, orders_goods表会插入用户购买的商品信息,address 表会插入订单收货地址,这样的情况, 使用后台的BREAD 可以设置吗?如果不能设置请问有什么办法可以做到。感谢!
这当然可以设置啊,只要你把对象间的关联关系绑定好就可以了,这个实现起来还是挺简单的。
站长,您好,我在本地搭建的项目没有问题,但是将项目部署到云服务器后,voyager的后台登陆页面显示没有问题,输入账号密码后登陆报错:
Call to undefined function TCG\Voyager\readlink()
TCG \Voyager \VoyagerServiceProvider: 189 addStorageSymlinkAlert
189:if (!file_exists(public_path('storage')) || @readlink(public_path('storage')) == public_path('storage')) {...} //就是这行报的错误
readlink()不是php的一个内置函数么,为啥会undefined,我把@readlink(public_path('storage')) == public_path('storage')删除掉,就登入成功了,我个人猜测是不是服务器环境的问题,服务器我用的ubuntu+宝塔中的php8.0.11+laravel9.12.2,我想请教的是,我遇到这种问题后,应该需要一个怎样的思路去思考解决这个问题比较好?直接百度根本百度不到,我需要花时间去了解这一部分源码么?
这个我还真的不知道为什么? 同样一脸懵,你是部署在什么环境里了?
我把@readlink(public_path('storage')) == public_path('storage')删除掉,就登入成功了,我个人也猜测是不是服务器环境的问题,服务器我用的ubuntu系统+宝塔中的php8.0.11+nginx1.20.1+mysql8.0.24+laravel9.12.2,我还想请教的是,我遇到这种问题后,应该需要一个怎样的思路去思考解决这个问题比较好?直接百度根本百度不到,我需要花时间去了解这一部分源码么?
为什么要那么依赖搜索啊?有些问题就是很诡异的,这样的问题基本靠搜索也找不到答案,甚至说某些问题可能只有我们自己遇到了,找不到答案的话,只能我们自己好好找一找原因,你也可以把它前面的@符号去掉,看一看如果不忽略错误信息的话,它会输出什么信息,然后看一看能不能找到一些有价值的线索。
嗯嗯,谢谢站长,您说的很对,有些问题的确是只有我们自己会遇到,我去掉@符号后,没有出现其他提示,所以我又去看了一下readlink这个函数的文档,当我看到他是Filesystem 函数,第一反应是会不会相关的扩展没开,又想到之前遇到过有些函数被宝塔disable了,果然是宝塔的问题,有了这个教训,我也就记住了,php内置函数undefined八成和环境有关系,宝塔会disable一些函数。我还想请教的是,站长对宝塔这种集成环境怎么看待?提倡自己搭环境还是集成环境?
这个我个人真的没用过,但是久闻大名,搭建环境还是非常方便高效的,其实不管什么方式,哪怕操作非常简单,都需要开发者使用之前好好学习研究一下,不然的话不管使用什么方式肯定都会遇到问题的,它应该是禁用某些模块吧,应该不是禁用函数,它应该做不到这么细粒度的控制。我个人是自己搭环境搭习惯了,所以都是自己搭,但现在确实有太多工具可以帮助我们搭建环境,更为高效,更为简单,各有各的好处,也适合不同的人群,个人来讲倒没有太大的倾向性,只要在自己掌控之中其实越简单的越好。
站长大大,Laravel-Admin或 Dcat-Admin有没有打算做教程~
Dcat-Admin好像更值得讲解一些。希望能把Dcat-Admin来一个案例讲解下。还是很好用的,响应速度也挺快的。
评论只能修改不能删除么……文章有多标签的,多对多的关系之前理解成一对多了。最近把这部分代码完成了。删除不掉评论,就修改下咯……
站长到今年这个时候
element-plus和 voyager 配合larave哪个更适合?想听听老大你的建议!感谢!
只有一个原则,哪个你用得熟练,顺手,更能满足项目需求就用哪个,而不是其他的客观因素,一定要从自己和项目的结合点出发,一个工具再好,如果自己用不好,那就先用自己能够掌控的工具完成项目和任务,只要它能满足项目需求即可。
嗯嗯,你说得对!感谢站长!🤝👍