vivify-ideas / admin-panel-generator
根据配置生成管理面板界面。
此软件包的规范仓库似乎已消失,因此已冻结此软件包。
Requires
- php: >=5.3.0
- illuminate/html: 5.*
This package is auto-updated.
Last update: 2022-03-23 13:29:12 UTC
README
为您的Laravel 5应用程序根据配置生成管理面板界面。
安装
首先,您需要通过Composer安装此软件包。编辑您的项目composer.json
文件,以要求vivify-ideas/admin-panel-generator
软件包。
"require": {
"vivify-ideas/admin-panel-generator": "dev-master"
}
接下来,通过终端更新Composer
composer update
此操作完成后,您需要将服务提供者添加到您的应用程序中。打开config/app.php
文件,并向提供者数组添加一个新项。
'VivifyIdeas\AdminPanelGenerator\Providers\AdminPanelGeneratorProvider'
最后一步是运行以下命令以发布软件包依赖项
php artisan vendor:publish
这将创建新的配置文件config/vivifyideas/admin-panel-generator.php
,您需要编辑它以配置您的管理面板。现在您已准备好开始配置您的管理面板。
配置
在发布供应商资产后,您将获得新的配置文件config/vivifyideas/admin-panel-generator.php
。
配置文件看起来像这样
return [ 'prefix' => 'admin', 'authMiddleware' => 'auth', 'tables' => [], 'rowsPerPage' => 15, 'columns' => [], 'filters' => [], 'forms' => [], 'validationRules' => [] ];
让我们解释每个部分。
prefix
这代表您管理面板的URL前缀。例如,如果您将'admin'
设置为您的prefix
,则您的管理URL将类似于以下这样 https://:8000/admin
。
注意: 设置此选项时不要带
/
前缀
authMiddleware
此中间件将用于授权管理用户。默认情况下设置为Laravel默认的auth
中间件。您可以使用自己的中间件。
tables
表示您希望通过管理面板管理的表名列表。示例
'tables' => [ 'users', 'articles', 'tags' ]
rowsPerPage
在这里,您可以设置在列表视图中要显示的每页行数。默认设置为15
。
columns
定义您要为每个表显示的列。示例
'columns' => [ 'users' => [ 'id', 'name', 'email', 'created_at' ], 'articles' => [ 'title', 'description' ] ]
filters
对于每个“列表视图”,您可以设置筛选器。筛选器用于轻松筛选列表视图。示例
'filters' => [ 'users' => [ 'email' => [ 'label' => 'Email', 'type' => 'text', 'compare' => 'LIKE' ], 'id' => [ 'label' => 'User #', 'type' => 'number' ] ] ]
首先,您定义您要为哪个表设置筛选器。对于每个筛选器,您可以设置3个参数
label
[必需] 某一列的标签type
[必需] [ text | password | email | url | textarea | number | checkbox | radio ]compare
[可选] 如果您不设置此参数,则使用=
表单
表单配置用于创建和编辑某些模型。它代表你希望允许管理员用户在创建/编辑某些模型时输入的字段列表。示例
'forms' => [ 'articles' => [ 'title', 'category' => [ 'label' => 'Takson', 'type' => 'text' ], 'belongsTo' => [ 'users' => [ 'label' => 'User', 'column' => 'user_id', 'foreignLabel' => 'name', 'nullable' => true // this is optional param ] ], 'hasMany' => [ 'videos' => [ 'label' => 'Videos', 'column' => 'article_id', 'foreignLabel' => 'title' ] ], 'belongsToMany' => [ 'tags' => [ 'label' => 'Tags', 'table' => 'article_tag', 'column' => 'article_id', 'foreignLabel' => 'tag_id', 'index' => 'id' ] ] ] ]
belongsTo
参数将生成 "下拉框"hasMany
将生成 "多选框"。在上面的示例中,我们有一个videos
表,其中包含article_id
列(表示外键)。belongsToMany
也会生成一个 "多选框"。在上面的示例中,我们有一个tags
表,通过一个枢纽表(article_tag
)与articles
表相关联。index
是主键,它允许我们从tags
表中获取记录。
验证规则
在这里,你需要为每个表设置验证规则(Laravel 验证规则)。当管理员用户想要创建或编辑某些实体时,将会调用这些规则。示例
'validationRules' => [ 'articles' => [ 'title' => 'required|min:10', 'text' => 'required' ] ]
截图
// TODO
贡献
// TODO