the42coders/the-laravel-admin-panel

一个用于创建基本 CRUD 管理面板的软件包。

0.3.4 2022-09-28 08:41 UTC

This package is auto-updated.

Last update: 2024-09-09 16:32:28 UTC


README

Latest Version on Packagist Build Status Quality Score Total Downloads

安装

您可以通过 Composer 安装此软件包。

composer require the42coders/the-laravel-admin-panel

您还需要在 web.php 路由文件中注册路由。由于 the-laravel-admin-panel 软件包功能强大,请确保使用应用程序中使用的任何身份验证来保护路由。

Route::group(['middleware' => ['auth']], function () {
    \the42coders\TLAP\TLAP::routes();
});

您需要发布软件包的资产。

php artisan vendor:publish --provider="the42coders\TLAP\TLAPServiceProvider"  --tag=assets  

其他可发布的内容包括:

config

php artisan vendor:publish --provider="the42coders\TLAP\TLAPServiceProvider"  --tag=config  

language

php artisan vendor:publish --provider="the42coders\TLAP\TLAPServiceProvider"  --tag=lang  

views

php artisan vendor:publish --provider="the42coders\TLAP\TLAPServiceProvider"  --tag=views  

使用方法

要为模型生成 CRUD,只需将 TLAPAdminTrait 添加到您的模型中。

use the42coders\TLAP\Traits\TLAPAdminTrait;

class User extends Model
{
    use TLAPAdminTrait;

并在 config tlap.php 中注册它。

'models' => [
    'users' => 'App\Models\User',
]

现在您只需访问 https://your-website.de/admin 的 URL。您可以在 tlap.php 配置文件中更改管理员面板可访问的 URL。

如果您在它们上使用返回类型,此软件包将自动加载您的关系。

public function posts(): HasMany
{
    return $this->hasMany('App\Models\Post');
}

该软件包根据其数据库结构猜测您的应用程序,包括验证。但您可以按自己的意愿覆盖此猜测。

您只需将静态函数字段添加到您的模型中,并设置带有您的字段定义的 $fields 数组。这是在最终发布前可能略有变化的部分。

public static function fields()
{
    self::$fields = [
        new TextField('name', 'Name'),
        new TextField('slug', 'Slug'),
        new TextField('description', 'Description', false),
        new TextField('menu', 'Menu'),
        new TextField('image', 'Image'),
        new TextField('parent_id', 'Parent ID'),
    ];

    return self::$fields;
}

目前,我们有以下内置字段:

将来,您还可以添加自己的字段。

测试

composer test

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

贡献

有关详细信息,请参阅 CONTRIBUTING

安全

如果您发现任何与安全相关的问题,请通过电子邮件 max@42coders.com 而不是使用问题跟踪器。

鸣谢

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件

Laravel 包模板

此软件包是用 Laravel 包模板 生成的。