pheye / voyager
基于 tcg/voyager:为控制组打造的Laravel Admin Package,简化您的开发生活并引导您的项目走向正确的方向
Requires
- arrilot/laravel-widgets: ^3.7
- doctrine/dbal: ^2.5
- illuminate/support: ~5.3.0|~5.4.0
- intervention/image: ^2.3
- larapack/doctrine-support: ~0.1.0
- league/flysystem: ~1.0.35
Requires (Dev)
- laravel/browser-kit-testing: ~1.0.0
- laravel/framework: ~5.3.8|5.4.*
- orchestra/database: 3.3.*|3.4.x-dev
- orchestra/testbench: 3.3.*|3.4.x-dev
- orchestra/testbench-browser-kit: ~3.3.0|~3.4.0
- phpunit/phpcov: ~3.0
- phpunit/phpunit: ~5.0
- dev-master
- v0.11.1
- v0.11.0
- v0.10.16
- v0.10.15
- v0.10.14
- v0.10.13
- v0.10.12
- v0.10.11
- v0.10.10
- v0.10.9
- v0.10.8
- v0.10.7
- v0.10.6
- v0.10.5
- v0.10.4
- v0.10.3
- v0.10.2
- v0.10.1
- v0.10.0
- v0.9.35
- v0.9.34
- v0.9.33
- v0.9.32
- v0.9.31
- v0.9.30
- v0.9.29
- v0.9.28
- v0.9.27
- v0.9.26
- v0.9.25
- v0.9.24
- v0.9.23
- v0.9.22
- v0.9.21
- v0.9.20
- v0.9.19
- v0.9.18
- v0.9.17
- v0.9.16
- v0.9.15
- v0.9.14
- v0.9.13
- v0.9.12
- v0.9.11
- v0.9.10
- v0.9.9
- v0.9.8
- v0.9.7
- v0.9.6
- v0.9.5
- v0.9.4
- v0.9.3
- v0.9.2
- v0.9.1
- dev-develop
- dev-release/v0.11
This package is auto-updated.
Last update: 2024-09-06 08:47:17 UTC
README
Laravel官方推出Nova管理后台后,经过测试,在设计上远优于Voyager。并且Voyager中长期存在的问题,在Nova那边已经得到解决。因此,改为使用Nova作为管理后台,本包不再维护。
改造说明
Voyager
是一个非常优秀的项目,然而却有一些问题限制了它的使用:
- 仍然是
jQuery
+前后端混合那一套,前端功能很难做得复杂 BREAD
控制器不支持搜索、批量操作等功能- 在
CMS
方面,编辑器功能过弱,而在SEO
等相关设置上又过于繁琐 - 提示语言没有使用多语言机制
BREAD
开启Server-Side
时,不支持排序- 存在许多初级BUG:例如
multiple images
类型,只能增加不能删除,查看详情时也不能正常显示等等
等待官方修复太慢,同时按照目前发展趋势来看,与自己的期望还是有一些距离,于是自己做整改。解决上述问题。
具体修复问题:
Voyager::settings
模块增加Boolean Type
,增加voyager::settings <key>/ voyager::settings <name> <key> <type> -s
命令获取和配置参数- 下拉框类型:如果使用了外键,比如users表的
role_id
指向Role,则User Model必须存在public function role_id()
,但是一般我们都使用的是public function role()
,通过在details
的relationship
下面增加method: "role"
即可覆盖默认值。 - 数字类型:增加"step: 0.01" 参数,以支持小数点的编辑。
- 文本框类型:支持JSON格式的处理,当数据库字段类型为JSON,并且在Laravel中设置
protected $casts=['content' => 'json']
这样的处理时,Voyager会编辑时会报错。通过在选项中增加{"json": true}
,即可支持JSON数据的直接编辑。 - 前端支持vue,并通过webpack打包管理
- 生成权限、策略菜单
Voyager - 缺失的Laravel Admin
官方文档: https://the-control-group.github.io/voyager/
常用操作表: https://voyager-cheatsheet.ulties.com/
Laravel Admin & BREAD System (浏览、读取、编辑、添加、删除),适用于Laravel 5.3。
创建新的Laravel应用后,可以使用以下命令包含Voyager包:
composer require tcg/voyager
接下来,请确保创建一个新的数据库,并将数据库凭据添加到.env文件中
DB_HOST=localhost
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
将Voyager服务提供者添加到config/app.php
文件中的providers
数组
'providers' => [ // Laravel Framework Service Providers... //... // Package Service Providers TCG\Voyager\VoyagerServiceProvider::class, // ... // Application Service Providers // ... ],
最后,我们可以安装Voyager。您可以通过以下方式安装,包括或不包括示例数据。示例数据将包括1个管理员账户(如果没有现有用户),1个示例页面,4个示例帖子,2个类别和7个设置。
要无示例数据安装Voyager,只需运行
php artisan voyager:install
如果您选择带示例数据安装,请运行
php artisan voyager:install --with-dummy
现在一切准备就绪!
使用php artisan serve
启动本地开发服务器,并访问https://:8000/admin。
如果您选择了示例数据,应该已为您创建了用户,以下是其登录凭证
邮箱:
admin@admin.com
密码:password
注意:只有在数据库中没有当前用户时,才会创建示例用户。
如果您没有选择示例用户,您可能希望将管理员权限分配给现有用户。这可以通过以下命令轻松完成
php artisan voyager:admin your@email.com
如果您没有安装示例数据,并且希望创建新的管理员用户,可以传递--create
标志,如下所示
php artisan voyager:admin your@email.com --create
然后您将被提示输入用户名和密码。
生成扩展菜单
默认安装的后台没有权限相关的菜单,可以通过执行以下命令生成更多菜单。例如角色、权限、权限视图、策略
php artisan vendor:publish --provider='TCG\Voyager\VoyagerServiceProvider' --force
composer dump-autoload
php artisan db:seed --class=ExtendVoyagerAdminSeeder